我的系统设置为从命令行(无 IDE)编译 jee6 代码。我最近尝试编译一些使用 javax.enterprise.context.RequestedScope 的代码。代码在命令提示符下编译得很好,但是当我尝试使用 Maven 构建应用程序时,我不断收到 javax.enterprise.context package not found 错误。
什么给了?我以为 Maven 使用的是我正在使用的相同的 javac。为什么javac能找到包而Maven找不到?我需要为 java 包添加依赖项吗?
或者...有没有办法告诉 Maven 在构建时使用当前类文件,或者 Maven 在构建时是否必须编译?
谢谢。
最佳答案
尝试将 Java EE 6 jar 添加到您的 Maven 依赖项中:
<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">
. . .
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
这会将 Java EE 类添加到您的编译时类路径中。
关于maven - Java从命令行编译而不是从Maven编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764890/