我对我的两个项目使用几乎相同的POM,它们在同一个工作区但它们根本没有相关性,但它们是相关的,因为我使用spring和jboss.这是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.springinaction.hello</groupId>
<artifactId>spring-in-action</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring-in-action</name>
<url>http://maven.apache.org</url>
<properties>
<jboss.ome>C:\jboss-5.1.0.GA\server\default\deploy</jboss.ome>
<springversion>2.5.3</springversion>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>${springversion}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<configuration>
<warName>spring-book</warName>
<outputDirectory>${jboss.ome}</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
我想用这个POM实现的是,我想在构建spring-book.war时命名我的战争并将其复制到我指定的Jboss位置.现在,在我的第一个项目中,它完全按照我的要求运行,但在其他项目中却没有.我改变了springversion和jboss home属性变量但是一切都保持不变,我该怎么办?项目构建和所有,一切都工作完美只是我不想每次在我的jboss目录中复制并且之前删除旧的战争,每个源代码需要大约20秒更改它很多
在这一行发现的问题:
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
你没有使用正确的包装,它应该是:
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
在这个改变之后应该调用war插件,事情应该像在另一个项目中一样工作:)