创建了Simpl JAR文件,导入到Maven项目,但是Maven安装抱怨“程序包不存在”

问题描述

| 我猜我实际上并没有做太多事情,因为我遇到了一个奇怪的问题。我试图从现有的Java项目中生成一个JAR,然后将其放入Spring Maven项目中。我确信我正确地包含了它,在获得第三方3D JAR之前,我已经做了很多次了(尽管它是一个Maven项目,但我在其中包含了一些晦涩的JAR并放在了buildpath中,等等),我的Eclipse中的JAR表现得很好,好像包含了它,我有一个测试类,它从JAR导入一个类,实例化它,等等,并且没有显示任何错误(在IDE中可以很好地导入,等等),但是,当我去做一个Maven安装我得到:
[ERROR] /media/src/main/java/org/jadefalcon/automation/DataSetup/test.java:[11,15] package org.test does not exist
[ERROR] /media/src/main/java/org/jadefalcon/automation/DataSetup/test.java:[21,2] cannot find symbol
我已经尝试过进行Maven清理,但仍然是相同的问题,我正在测试的JAR类是这样的:(正在尝试更复杂的一个,但随后尝试对此进行故障排除)
package org.test;

public class something {

    public String main () {
        return \"it is definitely working fine\";
    }

}
这是我生成的JAR(可见的来源): https://docs.google.com/leaf?id=0BzB_xvrbRpbYODQyMjEzOWetoTdjNS00YjM3LTlkZGUtNjY5NmIwN2RiNTRj&hl=zh-CN 我将不胜感激,对此我感到困惑和沮丧,我将不胜感激。谢谢     

解决方法

您可以在您的maven项目中添加一个\ regular \ jar-就像您描述的那样-尽管这不是最佳实践,主要是因为那样的话您甚至不会失去该jar的Maven功能,而且Maven依赖管理:您必须在源中包含该jar才能进行构建。 当然,您也可以为该jar创建一个Maven工件,使用Maven进行构建,使用Maven进行安装,并将其用作常规Maven依赖项。 您还可以创建一个父.pom并将依赖项项目作为模块包含在其中,也可以将您的真实应用程序(或者您的真实应用程序可以作为您的父母)作为模块。在这里进一步查看。     ,由于这引起了我很大的悲伤,我认为应该发布找到的解决方案。显然,您不应该在Maven项目中仅包含常规lib JAR(尽管我发誓我以前做过并且可以工作),但我发现这种方式包括了一个本地JAR,它不是从这个帖子: 是否可以在不安装jar的情况下将jar添加到maven 2 build classpath? 我做到了,它正确地进行了Maven安装(其中版本和artifactID仅是值)
        <dependency>
    <groupId>org.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/testjar.jar</systemPath>
</dependency>