java - Maven 构建失败 : package does not exist

标签 java maven

我有两个 Maven 模块,AppManager 和 myApp。这些在本地位于同一目录中,并且在公司的在线存储库中不可用,因为它们用于测试目的。在 IntelliJ 中,我可以毫无问题地使用 AppManager 的字段和方法,也没有错误消息。我在 myApp 的 impl pom 文件中导出 com.mycompany.appManager。但是,当我在 IDE 之外构建时,即 mvn clean install,出现包 com.mycompany.appManager 不存在的错误,然后出现 Unresolved 相关错误appManager 中定义的公共(public)字段的使用符号。我该如何解决这个问题?我试过导出和添加依赖项,但这两种解决方案都不起作用。

pom.xml:

<moduleVersion>4.0.0</moduleVersion>
<parent>
    <groupId>com.myCompany</groupId>
    <artifactId>myApp</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

<groupId>com.myCompany.myApp</groupId>
<artifactId>com.myCompany.myApp.impl</artifactId>
<packaging>bundle</packaging>
<name>My App Implementation</name>

<build>
    <plugins>
        <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-bundle-plugin</artifactId>
             <extensions>true</extensions>
             <configuration>
                 <instructions>
                     <Export-Package>
                          com.myCompany.appmanager
                     </Export-Package>
                     <Bundle-Activator>com.mycompany.myapp.impl.component</Bundle-Activator>
                 </instructions>
             </configuration>
         </plugin>
     </plugin>
 </build>

编译错误:

[ERROR] /root/Desktop/apps/myapp/impl/src/main/java/com/mycompany/myApp/impl/component.java:[11,49] package com.mycompany.appmanager does not exist
[ERROR] /root/Desktop/apps/myapp/impl/src/main/java/com/mycompany/myApp/impl/component.java:[64,49] cannot find symbol
    symbol: variable AppManagerModule
    location: class com/mycompany/myApp/impl/component

最佳答案

我尽量按照我的理解来回答这个问题:

如果您有两个项目 A 和 B,并且 A 依赖于 B,那么您必须先构建 B。如果你例如使用 mvn clean install,然后 B.jar 将被放入您的本地存储库。之后,您可以针对它构建 A(如果您在 pom 中选择了正确的版本)。

关于java - Maven 构建失败 : package does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38596946/

相关文章:

java - 如何使用 Netty 发送对象?

java - 加载 keystore 时出错(PKCS12)

java - ExecutorService 等待所有 Future 完成

maven-2 - 本地存储库使用

java - 将带有生成的 webapp 文件夹的 Maven 项目部署到 Apache Tomcat

maven - 在部署新版本之前备份已部署的 Web 应用程序(自动)

java - 当我启动 tomcat 时,我的 java 应用程序一直一遍又一遍地开始

java - GAE - 找不到类 : Caused by: java. lang.ClassNotFoundExceptionAppIdentityCredential$AppEngineCredentialWrapper

java - Gitflow 与 Maven 的工作流程 - 何时构建什么?

java - 非无状态 JAXB XML 适配器