maven - Java从命令行编译而不是从Maven编译

标签 maven java-ee-6

我的系统设置为从命令行(无 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/

相关文章:

jakarta-ee - @RequestScoped CDI 注入(inject)到 @MessageDriven bean

java - ejb - javax.annotation.ManagedBean 所需的详细信息

jakarta-ee - 在 Java EE 企业应用程序中将业务逻辑放在哪里

java - 缩短命令行的类路径 (-cp)

maven - jib-maven spring boot 配置文件

android - 错误 :Unknown host 'maven.fabric.io' . 您可能需要调整 Gradle 中的代理设置

Java EE Servlet 重写 servlet 路径

java - dependencyManagement - 父 pom 中的导入和直接条目

java - 如何通过 gradle (在函数中)在本地 Maven 存储库中安装子项目?

java - 从 session 范围检索 @Named 托管 bean