我正在学习Maven。我与它修修补补,并在这个问题感到震惊,JAR依赖于maven
我有2个Maven项目PROJECT_1和Project_2
PROJECT_1示例代码:
package com.sample;
public class App
{
public void hello(){
System.out.println("Hello from New Project1");
}
public static void main(String[] args)
{
//Empty
}
}
我建立PROJECT_1,并添加了JAR文件的依赖性项目2
Project_2示例代码:
package com.newsample;
import com.sample.App;
public class Appn
{
public static void main(String[] args)
{
App obj=new App();
obj.hello();
}
}
Project_2 pom.xml的依赖:
<dependency>
<groupId>com.sample</groupId>
<artifactId>project1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
然而,当我尝试从JAR文件包,它抛出以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sample/App
我已检查project_2 JAR文件,但App.class没有被添加到它。我的问题似乎太天真了,但不应该添加类,因为它是project_2的依赖项。有没有其他的方式来捆绑这使用maven?
您是否在添加App类后重建了依赖项('mvn clean install')'project 1'? –
jar文件只包含来自项目本身的类,而不包含其所有依赖项中的类。您需要在类路径中同时存在两个jar文件。 –
@JBNizet;谢谢,设置类路径似乎是问题所在。您可以添加您的评论作为答案。将投票给它。 –