当前位置: 首页 > 知识库问答 >
问题:

使用Java 10向Java项目添加本地JAR

常海
2023-03-14

我在Java的早期版本中使用了Maven,但现在我正试图让它在Java 10中工作。我构建了一个简单的Hello world项目,具体来说:

package main;

公共课堂测试{

public static void main(String[] args) {
    System.out.println("Hello World");

}

}使用模块信息类:

模块maven.test{导出main;}

与本项目相关的pom为:

http://maven.apache.org/xsd/maven-4.0.0.xsd"

当我构建项目时,它成功构建。然后,我从Maven中央存储库添加了一个依赖项:org。jsoup jsoup 1.7.3

这也成功地构建了。然后我添加了一个本地安装的jar。

<dependency>
    <groupId>com.artificialmed</groupId>
    <artifactId>DBconnectValueObjects</artifactId>
    <version>1.0</version>
</dependency>

执行此操作时,生成失败,并显示以下错误消息:

[错误]无法执行目标组织。阿帕奇。专家插件:maven编译器插件:3.7.0:在项目MavenTest上编译(默认编译):目标组织的执行默认编译。阿帕奇。专家插件:maven编译器插件:3.7.0:编译失败。IllegalArgumentException-

我没有找到任何可以帮助我解决此错误的内容。当我使用完整调试日志重建项目时,我没有看到任何有用的信息。我知道本地jar已正确安装在我的存储库中,因为当我将该jar包含在用Java 7编译的项目中时,项目构建成功。因此,我怀疑这是与Java 10和本地安装的JAR相关的问题。

有人知道如何回避这个问题吗?

埃利奥特

共有1个答案

太叔飞翰
2023-03-14

我想这可能与这个问题有关。

基本上,我认为您的问题与本地jar无关-如果您使用maven安装插件将其安装在本地maven存储库($USER\u HOME/.m2)中,它就有一个pom。xml和to maven不应与任何其他maven依赖项区分开来。

我唯一看到的“错误”是maven编译器插件的版本——当前版本是3.8.0,到目前为止我在Java11中使用它没有任何问题。此外,请注意,设置源和目标java版本的机制发生了变化,如以下片段所示:

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>10</release>
            </configuration>
        </plugin>
    </plugins>
</build>
 类似资料:
  • 我有一个Gradle插件,可以按预期编译和工作。我想与源代码一起发布一个使用Gradle插件的示例应用程序,它还允许我轻松测试插件的更改。现在要做到这一点,我必须向buildScript块添加一个类路径依赖项。是否可以添加将与示例项目一起编译的依赖本地插件?我现在面临的主要问题是,当尝试同步示例项目时,插件不存在,导致失败。

  • 我在我的项目中使用ActionBarSherlock,有时需要在操作栏中添加一个或多个项。 在这个BaixadosFragment类(扩展了SherlockFragment)中,我使用了以下代码,它运行良好: [编辑]根据Droidt的建议,这奏效了:

  • 问题内容: 如何直接在项目的库源代码中添加本地jar文件(尚未成为Maven存储库的一部分)? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→

  • 我在这里遇到了一个问题,我创建了一个actionListener,它旨在创建一个随机的人,并将其添加到JList中以显示在JScrollPane上。到目前为止,一切都很顺利,只是每当我单击JButton添加一个新的人员时,JList不会添加到当前列表中,而是每次都会替换它,因此JList上只显示一个项目。我知道问题发生在哪里,您将立即在actionevent行中看到它。不管怎样,谢谢你的帮助我的朋

  • 我有一个非常简单的REST API,它使用了jersey 2.x(Glassfish)。当我只输出hello world字符串时,它就起作用了。但是,当我添加几个JAR并在一行代码中使用它们时,它会抛出大量class错误。我没有编译或语法错误。这个错误很长,所以如果我在里面装了很多垃圾,请原谅。 我看到了很多解决这个问题的方法,但是我不理解它们的术语,例如,类路径需要被修复等等。 代码 eclip