Maven没有编译类,在war文件中没有类文件
iam将我的项目转换为maven。 我在war文件中看到没有可用的类文件。Maven没有编译类,在war文件中没有类文件
下面是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>RetailProducts</groupId>
<artifactId>RetailProducts</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>RetailProducts</name>
<dependencies>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<!-- Tomcat 6 need this -->
<dependency>
<groupId>com.sun.el</groupId>
<artifactId>el-ri</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<finalName>JavaServerFaces</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<!-- <configuration> section added to pick up the WEB-INF/web.xml inside WebContent -->
<configuration>
<webResources>
<resource>
<directory>WebContent</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
项目结构
从我的观点你的项目结构上来看是没有行家的期望。
为了解决您的问题,请执行以下操作:
- 首先重命名你的包retail.web.mbean到main.java.retail.web.mbean(后处理您的包将仍然命名为retail.web.mbean),这将创建maven所需的文件夹结构。
- 右键单击该项目,Maven>更新项目配置。
经过这个过程后,您将拥有与开始项目前相同的结构,但maven会知道在哪里可以找到源代码。
此外,您可以创建一个资源文件夹和文件夹的测试用以下结构:
Project
src
main
java
resources
test
java
resources
这将是标准的Maven项目结构。
请您可以检查这个问题太http://stackoverflow.com/q/16383877/668970 – developer 2013-05-05 11:15:19
默认情况下Maven认为Java源代码将在的src/main/java的但你的项目结构在SRC来源。我会建议你坚持standard Maven directory布局。
如果你不想这样做,那么你可以使用sourceDirectory构建设置如下应:
<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">
...
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
</build>
</project>
当我输入我的Maven项目在eclipse它没有认识到它是一个动态Web项目,所以它不会生成这些类。当我在它生成的pom中添加了 '
我的问题是java版本。我有1.8.101,并且必须更新到1.8.144,然后maven可以识别src/main/java – 2017-10-11 14:24:29
提示中的源文件:对于测试目录,您可以添加自己的目录,例如:
您可以使用代码中的pom.xml以下行包括在战争中的Java文件你已经创建。 默认情况下,打包时排除.java文件。
<resources>
<resource>
<directory>src</directory>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>
只要你知道你的建议。那会放。目标/类中的java文件不是你想要的。你想先建立它们到.class文件。 – 2016-03-31 15:32:23
downvoters请注明您所downvoting这样我就可以纠正自己什么 – developer 2013-05-05 07:48:34