【问题标题】:src/main/resources not added in war class pathsrc/main/resources 未添加到战争类路径中
【发布时间】:2017-08-24 16:30:23
【问题描述】:

我开发了一个 web + maven 项目。所有开发完成。现在我正在尝试在生产中部署。我遇到了一个问题,我的ProjectName.war/WEB-INF/classes/ 文件夹中没有添加来自src/main/resources 的内容。检查截图

就像hibernate.cfg.xml 不存在,并且其他文件/文件夹不在类路径中(ProjectName.war/WEB-INF/classes/)。我错过了任何插件吗?我以为src/main/resources的内容应该是根据this link自动添加的。

pom.xml

<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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>IncidentManagement</groupId>
    <artifactId>IncidentManagement</artifactId>
    <version>1</version>
    <packaging>war</packaging>
    <build>
        <sourceDirectory>src.main.java</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <properties>
        <java.version>1.8</java.version>
        <junit.version>4.12</junit.version>
        <servlet.version>3.1.0</servlet.version>
        <mojarra.version>2.2.12</mojarra.version>
        <primefaces.version>5.3</primefaces.version>
        <maven.compiler.plugin.version>3.3</maven.compiler.plugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <repositories>
        <repository>
            <id>JBoss repository</id>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
    </repositories>

    <dependencies>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.2</version>
            <scope>test</scope>
        </dependency>

        <!-- ORACLE database driver -->

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <!-- <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>  -->

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.3.Final</version>
        </dependency>

        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlet.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- Mojarra JSF -->
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>${mojarra.version}</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>${mojarra.version}</version>
        </dependency>
        <!-- PrimeFaces -->
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>${primefaces.version}</version>
        </dependency>

        <!-- Excel and CSV -->

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.10-FINAL</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.10-FINAL</version>
            <type>jar</type>
        </dependency>

        <!-- PDF -->

        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
        </dependency>

        <!-- JSON -->
        <dependency>
           <groupId>com.googlecode.json-simple</groupId>
           <artifactId>json-simple</artifactId>
           <version>1.1.1</version>
        </dependency>

        <!-- Primefaces Theme -->
        <!-- https://mvnrepository.com/artifact/org.primefaces.extensions/all-themes -->
        <dependency>
            <groupId>org.primefaces.extensions</groupId>
            <artifactId>all-themes</artifactId>
            <version>1.0.8</version>
        </dependency>


    </dependencies>

</project>

【问题讨论】:

    标签: java eclipse hibernate maven tomcat8


    【解决方案1】:

    您的文件夹结构错误,应该是src/main/javasrc/test/java.. 而您拥有的是src.main.java。请使用以下命令从头开始重新创建 maven 项目

    mvn archetype:generate -DgroupId=IncidentManagement
       -DartifactId=IncidentManagement
       -DarchetypeArtifactId=maven-archetype-quickstart
       -DinteractiveMode=false
    

    【讨论】:

    • 那有点晚了。我现在必须修复它,我无法再次测试所有内容。有没有其他方法(通过编辑pom.xml)?
    • @Junaid 尝试修复文件夹结构,至少 src/main/java 是您需要的。
    • 修复当前项目还是新建一个?
    • @Junaid 修复这个。 src.main.java错了,应该是src/main/java
    【解决方案2】:

    尝试:

    1. 创建名为 src/main/java、src/main/resources src/test/java src/test/resources 和 src/main/webapp 的新文件夹
    2. 之后将所有类/文件移动到各自的文件夹中,删除错误文件夹
    3. 右键单击文件夹 src/main/java 等,然后选择-->构建路径-->用作源文件夹。
    4. 在 src/main/reources 中创建 META-INF 文件夹,您可以在其中放置 MANIFEST.MF 或 persistence.xml 等文件。
    5. 在 src/main/webapp 中创建两个文件夹: META-INF 和 WEB-INF ;在 META-INF 上你可以放像 MANIFEST.MF 这样的文件,在 WEB-INF 你可以放像 web.xml 这样的文件

    【讨论】:

      【解决方案3】:

      首先检查资源是否在您的 IDE 的构建路径中。如果是,则从您的 pom 中删除 maven-war-plugin 并再次尝试构建和部署。它可能会起作用。

      【讨论】:

        猜你喜欢
        • 2017-12-03
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2018-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多