pom相关知识
-
Spring MVC POM文件配置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.imooc.spring_mvc-study</groupId> <artifactId>spring_mvc-study</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring_mvc-study Maven Webapp</name> <url>http://maven.apache.org</url> <dependenc
-
pom文件整体结构xml声明 <?xml version="1.0" encoding="UTF-8"?> 项目必备 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 模型版本(一般为4.0.0) <modelVersion>4.0.0</modelVersion> 基本结构 <groupId>反写的公司网址+项目名</groupId> <artifactId>项目名+模块名</artifactId> <version>0.0.1</version> <!--第一个数
-
POM is invalid, transitive dependencies will not be available前几天用maven打包了一个war文件,结果放到服务器上运行时报错,说某个class not found,我当时还以为依赖冲突了呢,折腾了一阵之后,把这个war包打开一看,里面少了好几个jar包。 查看了一下持续集成日志,里面有一个warning,说 The POM for xxx is invalid, transitive dependencies (if any) will not be available 所以maven把这几个jar包给排除了。。。 解决方法很简单,把构建服务器上的本地maven库清理了就好了。 感觉maven的设计思路很奇特啊,你把别人的传递依赖
-
如何配置maven pom文件来解决jar包冲突一般的java企业项目中都会引用十几个甚至数十个jar包,这些jar包又会引用各自需要的jar包,这里就有可能产生冲突,比如jarA引用了jarC的1.0版本,而同时jarB引用了jarC的2.0版本,这时候同一项目中就同时引用了jarC的1.0版本和2.0版本,这样就有可能会产生jar包冲突。如何在pom文件中解决jar包冲突的问题呢?方法很简单,只需要在引用jar包时加上exclusion节点,排除某个jar包即可。<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.5.ga</vers
pom相关课程
pom相关教程
- 2. 超级 POM 在我们这个项目的 pom.xml 文件中,只有短短的几行信息,但是这就全部吗?其实不然。在 Maven 的世界中,存在着一个超级 POM(super POM),所有通过 Maven 创建的项目,其 pom.xml 文件都会继承这个超级 POM。所以在默认情况下,使用 Maven 创建出来的项目基本上都是很类似的。那么这个超级 POM 在哪呢?长什么样呢?
- 1.1 什么是 POM? POM(项目对象模型)是 Maven 最基本,也是非常重要的一个概念。通常情况下,我们可以看到 POM 的表现形式是 pom.xml,在这个 XML 文件中定义着关于我们工程的方方面面,当我们想要通过 Maven 命令来进行操作的时候,例如:编译,打包等等,Maven 都会从 pom.xml 文件中来读取工程相关的信息。
- Maven POM 模型 在上一节当中,我们使用 Maven 创建了我们的第一个项目,今天我们来介绍一下 Maven 中重要的概念 POM 模型。
- 2.2 查看超级 POM 结构 <project> <modelVersion>4.0.0</modelVersion> <repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> <releases> <updatePolicy>never</updatePolicy> </releases> </pluginRepository> </pluginRepositories> <build> <directory>${project.basedir}/target</directory> <outputDirectory>${project.build.directory}/classes</outputDirectory> <finalName>${project.artifactId}-${project.version}</finalName> <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory> <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> </resource> </resources> <testResources> <testResource> <directory>${project.basedir}/src/test/resources</directory> </testResource> </testResources> <pluginManagement> <!-- NOTE: These plugins will be removed from future versions of the super POM --> <!-- They are kept for the moment as they are very unlikely to conflict with lifecycle mappings (MNG-4453) --> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.3</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-5</version> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> </plugin> </plugins> </pluginManagement> </build> <reporting> <outputDirectory>${project.build.directory}/site</outputDirectory> </reporting> <profiles> <!-- NOTE: The release profile will be removed from future versions of the super POM --> <profile> <id>release-profile</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <inherited>true</inherited> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <inherited>true</inherited> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <inherited>true</inherited> <artifactId>maven-deploy-plugin</artifactId> <configuration> <updateReleaseInfo>true</updateReleaseInfo> </configuration> </plugin> </plugins> </build> </profile> </profiles></project>对于我们的项目,我们称超级 POM 为父 POM,我们项目中的 POM 为子 POM,一般情况下如果父子 POM 中存在相同的元素或者节点,那么子 POM 会覆盖父 POM 的元素或者节点(有点类似 Java 中的 override),但是,也会有这么几个例外存在:dependencies;developers 和 contributors;plugins;resources。子 POM 在继承这些元素的时候,并不会直接覆盖,而是在其基础上继续追加。
- 2.1 超级 POM 路径位置 如下图,先找到指定的 jar 包,路径:.\apache-maven-3.6.3\lib\maven-model-builder-3.6.3.jar:然后我们可以使用解压工具查看该 jar 包,找到对应的 pom.xml。具体路径:org\apache\maven\model\pom-4.0.0.xml。
- 3. 小结 本节中,我们介绍了 Maven 的 POM 模型,查看 Maven 工程的 pom.xml 文件,以及 pom.xml 文件中的坐标,最后我们还介绍了超级 POM,这样,我们就对 Maven 的 POM 模型有了一个基本的认识。
pom相关搜索
-
pack
package
package文件
padding
pages
page对象
panda
panel
panel控件
param
parameter
parcel
parent
parentnode
parents
parse
parse error
parseint
partition
pascal