【问题标题】:Gradle initialization removes external librariesGradle 初始化移除外部库
【发布时间】:2018-02-08 12:16:24
【问题描述】:

我创建了一个新项目。

New project > Java Enterprise > Web Application 并选择 JSF,选择我的 GlassFish 安装。

当我按下播放按钮时,它会起作用(带有“Hello world”的白页)。但我不想添加 gradle,所以我可以安装依赖项。

在我运行 gradle init 并重新打开 Intellij 后,我的外部库不见了...

如何将 GlassFish 库与 gradle 结合使用?

在我的 build.gradle 中添加了 compileOnly group: 'javax', name: 'javaee-api', version: '8.0',仍然给我下面给出的错误

【问题讨论】:

    标签: jakarta-ee gradle intellij-idea glassfish


    【解决方案1】:

    原因是 Intellij 将这些外部库添加到 IDEA 项目中,因此 Gradle 对它们一无所知。您需要将依赖项添加到 Gradle,以便 Gradle IDEA 都知道依赖项。

    由于您要部署到 GlassFish 5,您可以像这样添加对 Java EE 8 API 的provided依赖:

    provided group: 'javax', name: 'javaee-api', version: '8.0'
    

    这告诉 Gradle(和 IDE)它可以针对 API 编译您的代码,但实际上并不包含任何实现库,因为当您部署到 GlassFish。

    【讨论】:

    • 使用 provided ... 给我一个 Could not find method provided() for arguments ... 错误
    • 并且compileOnly 有效。但例如:<h:outputLabel value="Hello world"/> 给我无法解析符号
    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    相关资源
    最近更新 更多