Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“Maven”;找不到符号“;Linux而非Windows上的错误_Linux_Amazon Web Services_Maven 3 - Fatal编程技术网

“Maven”;找不到符号“;Linux而非Windows上的错误

“Maven”;找不到符号“;Linux而非Windows上的错误,linux,amazon-web-services,maven-3,Linux,Amazon Web Services,Maven 3,我的问题类似于: 但这些解决方案都没有奏效 我有两个maven项目:A是B的依赖项。我可以在Windows7(我的开发机器)和Linux(AWSEC2实例)上成功地编译、测试、打包和安装A。我还可以在Windows7上编译、测试、打包和安装B。但是,当我尝试在Linux上编译B时,maven出现了一个“找不到符号”错误: 我在这两个系统上安装了相同版本的Java(1.7.025)和Maven(3.0.5),并且都使用来自Git的相同源代码版本 运行mvn依赖项:list不会显示任何警告。jar项

我的问题类似于: 但这些解决方案都没有奏效

我有两个maven项目:A是B的依赖项。我可以在Windows7(我的开发机器)和Linux(AWSEC2实例)上成功地编译、测试、打包和安装A。我还可以在Windows7上编译、测试、打包和安装B。但是,当我尝试在Linux上编译B时,maven出现了一个“找不到符号”错误:

我在这两个系统上安装了相同版本的Java(1.7.025)和Maven(3.0.5),并且都使用来自Git的相同源代码版本

运行
mvn依赖项:list
不会显示任何警告。jar项目位于Linux服务器上的本地m2存储库中,并且具有可用的类和方法

似乎Maven并没有让Java编译器意识到这个项目是Linux上的jar,但我不明白为什么。Maven可能无法正确指定Java类路径吗

有人对要尝试或测试的东西有什么建议吗

如果相关:

# mvn -version                                                                                                                              
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /usr/local/apache-maven/apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_25/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.4.48-45.46.amzn1.x86_64", arch: "i386", family: "unix"
由于我确信有人会要求查看POM,以下是项目B的相关部分。依赖关系没有任何特殊之处:

<dependencies>
<!-- For Project A. -->
<dependency>
  <groupId>com.company.projectA</groupId>
  <artifactId>company-projectA</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

<!-- For RESTful services. -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.2</version>
</dependency>

<!-- For testing. -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>
</dependencies>

com.company.projectA
项目公司A
1.0-快照
com.google.code.gson
格森
2.2.2
朱尼特
朱尼特
4.10
测试

非常感谢您的帮助。

经过进一步研究,这根本不是一个专业问题。某些文件具有不正确的UNIX权限,这以某种方式导致了错误。在确保所有的工作目录都已正确浏览和chmod之后,构建工作正常。

即使我将存储库显式设置为默认值(
export M2\u REPO=~/.M2/repository
),并在脱机模式下使用
mvn-o clean package install
)运行,这仍然会失败。包A安装到本地存储库,但包B找不到。我知道这是一篇旧文章,但我很想知道哪些文件的权限不正确。我现在可能遇到同样的问题,我觉得我正在用这个Dockerfile解决这个问题:``来自maven:3.6.3-jdk-8-slim RUN groupadd mygroup-g 123\&&useradd-m myuser-u 234-g 123-d/home/user RUN mkdir-p/root/.m2&&chown myuser:mygroup-R/root-user-myuser-WORKDIR/user-home/user-COPY。CMD[“mvn”、“clean”、“install”、“-DskipTests”、“-e”]```
<dependencies>
<!-- For Project A. -->
<dependency>
  <groupId>com.company.projectA</groupId>
  <artifactId>company-projectA</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

<!-- For RESTful services. -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.2</version>
</dependency>

<!-- For testing. -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>
</dependencies>