java - Maven 使用错误的类目录创建 war ,或者将已编译的类放在错误的位置

标签 java maven war

MyProject > src
          > target
                   > MyProject   > classes (1)
                   > classes (2)

实际新编译的代码被放入2中,但是war文件是使用1创建的。因此我的war文件根本不是最新的。

我应该做什么?下面显示了我的 pom 片段...:

<build>
        <finalName>MyProject</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
                    <warName>MyProject</warName>

                </configuration>
                <version>2.1.1</version>
            </plugin>
        </plugins>
    </build>

最佳答案

目标/项目只不过是爆炸性的 war 。

尝试删除目标目录。从命令行执行 Maven 构建。并检查此时是否所有事物都按原样创建。如果是这样,那么 Maven 的行为正确,因为这两个位置都包含更新的类文件,并且 target/PROJ 目录是分解的 war 目录。您可以使用该目录的路径在 tomcat/web 容器中设置上下文。

关于java - Maven 使用错误的类目录创建 war ,或者将已编译的类放在错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12929860/

相关文章:

maven - 将 keycloak 扩展提供程序打包为 EAR

java - 无法生成application.xml

java - 在 Spring SpEL 中转义 MongoDB 正则表达式字符 - 获取 SpelParseException

java - 如果缓存了 MockHttpServletRequestBuilder,则 MockMvc.perform 会抛出带有并行流的 ConcurrentModificationException

java - 如何使用 java api 将 Ldif 文件中的默认数据添加到 Ldap 服务器?

用于纯服务器应用程序的 Java EE 6 WAR 包装?

wildfly - 如何让 EAR 从 WAR 读取属性文件?

java - Eclipse 在单独的窗口中打开代码

java - 使用maven将storm和cassandra打包成可执行jar

java - Eclipse(实际上是 RAD)在项目上抛出 WAR 验证错误(CHKJ3000E)