Java Maven:使用导入的jar中的类

Java Maven:使用导入的jar中的类,java,maven,Java,Maven,我对Maven很陌生。 我正在尝试做以下工作: 假设我们必须修改项目A和B。项目B需要使用从A导入的jar中的某个类 以下是定义: 项目A的POM.xml: 4.0.0 A_组 神器 1 罐子 A_项目 http://maven.apache.org UTF-8 以下是项目B的POM.xml(取决于A): 4.0.0 B_群 B_伪影 1 罐子 B_项目 http://maven.apache.org UTF-8 A_组 神器 1 编译 以下是项目B的代码片段: import packa

我对Maven很陌生。
我正在尝试做以下工作:
假设我们必须修改项目A和B。项目B需要使用从A导入的jar中的某个类 以下是定义: 项目A的POM.xml:


4.0.0
A_组
神器
1
罐子
A_项目
http://maven.apache.org
UTF-8
以下是项目B的POM.xml(取决于A):


4.0.0
B_群
B_伪影
1
罐子
B_项目
http://maven.apache.org
UTF-8
A_组
神器
1
编译
以下是项目B的代码片段:

import packageFromA.*;
公共类应用程序{
公共静态void main(字符串[]args){
classFromA ca=新classFromA;//来自packageFromA
ca.someFunction();
}
}
我为A运行mvn安装,然后为B运行,没有错误 但在尝试运行IntelliJ Idea的上述代码时,出现错误: 错误:(3,18)java:包packageFromA不存在

正如我从maven文档中了解到的:“编译依赖项在所有类路径中都是可用的,并且它们是打包的”。但似乎导入类仍然没有解决。定义中缺少什么?提前谢谢

更新:从IntelliJ运行时,问题在重新导入后得到解决。但是当我从命令行运行时
java项目b


我是否需要显式设置导入JAR的类路径?如果是,我是否需要指向我在本地maven存储库(.m2/存储库)中的位置?感谢您在项目B的POM中添加maven jar插件的配置,以生成包含类路径的清单文件:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>lib/</classpathPrefix>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      ...
    </plugins>
  </build> 

</project>

...
...
org.apache.maven.plugins


希望有帮助

pom.xml
s看起来不错,这很可能是IDE的问题。您检查过生成的
jar
s了吗?谢谢您的回复。为项目A生成的jar包含classFromA.class文件。mvn应该安装更新类路径吗?但是项目B是否包含项目A
jar
文件?如果是的话,那么这是一个IDE问题。不,B的jar不包含来自A的jar。所以据我所知,它正在导入问题,对吗?此处应检查哪些设置?更多信息-这两个项目都安装在同一个本地存储库中。谢谢
mvn包
after
install