为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 jar 导入类

无法从 jar 导入类

白衣染霜花 2021-07-08 18:35:48
我在将 JAR 库中的类导入我的项目时遇到问题。请看截图。我在 Eclipse 和 IntelliJ 中都尝试了几种方法,直接添加和通过 Maven 添加。这些都没有帮助,我仍然得到一个红色下划线。在 IntelliJ 中,我尝试过:项目结构-模块-依赖-添加jar。尝试创建一个 lib 文件夹,将其添加为库并将 jar 放入其中,然后设置为依赖项。通过 maven pom.xml 添加到 jar 的直接路径。在 Eclipse 我试过:Java 构建路径并将其添加到我的构建路径中。Maven - 更新项目。这是我的 pom.xml 来获取本地 jar。<dependency>  <groupId>uk.co.pervasive_intelligence.simulator</groupId>  <artifactId>protocol</artifactId>  <version>1.0</version>  <scope>system</scope>  <systemPath>C:\Users\Vas-DELL\Desktop\simulator-1.2.2.jar</systemPath></dependency>奇怪的是,我能够看到罐子和罐子里的类(截图)。但仍然无法导入它们。如果还有什么我可以提供的,请告诉我。
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

在项目文件夹的根目录中创建一个 lib/ 目录。把你的罐子放在那里。将此添加到您的 pom.xml:


<dependency>

  <groupId>uk.co.pervasive_intelligence.simulator</groupId>

  <artifactId>protocol</artifactId>

  <version>1.0</version>

  <scope>system</scope>

  <systemPath>${basedir}/lib/simulator-1.2.2.jar</systemPath>

</dependency>

不要使用 \ 作为路径分隔符(即使您使用的是 Windows)


运行mvn clean package命令行


您也可以尝试在本地存储库中手动安装依赖项:


mvn install:install-file -Dfile=simulator-1.2.2.jar -DgroupId=uk.co.pervasive_intelligence.simulator -DartifactId=protocol -Dversion=1.0 -Dpackaging=jar


然后将其添加到您的 pom 中:


<dependency>

  <groupId>uk.co.pervasive_intelligence.simulator</groupId>

  <artifactId>protocol</artifactId>

  <version>1.0</version>

</dependency>

编辑:


jar 文件不具有标准 java 库的结构。为了将该 jar 用作库,类的包应作为 jar 文件的基(或根目录)中的文件夹存在。例如:


/META-INF

    /MANIFEST.MF

/uk

    /co

        /pervasive_intelligence

            /simulator

                /BaseComponent.class

                /SimulatorApplication.class

                /SimulatorException.class

....

作为一个库 jar 文件,那么 MANIFEST.MF 的内容可以很简单


Manifest-Version: 1.0

希望这可以帮助


查看完整回答
反对 回复 2021-07-14
?
慕村225694

TA贡献1880条经验 获得超4个赞

如果您使用SpringBoot和InteliJ Idea,当您执行mvn clean package命令时,您应该使用maven pom中的packagename.jar.original jar文件具有标准java库的结构。


/META-INF

    /MANIFEST.MF

/uk

    /co

        /pervasive_intelligence

            /simulator

                /BaseComponent.class

                /SimulatorApplication.class

                /SimulatorException.class

....


查看完整回答
反对 回复 2021-07-14
  • 3 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信