Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]Mac和Linux上maven多模块编译顺序不同 #2114

Closed
1 task done
wuchaojing opened this issue Feb 17, 2023 · 8 comments
Closed
1 task done

[Bug]Mac和Linux上maven多模块编译顺序不同 #2114

wuchaojing opened this issue Feb 17, 2023 · 8 comments
Labels
bug Something isn't working

Comments

@wuchaojing
Copy link
Contributor

Bug Type (问题类型)

None

Before submit

  • 我已经确认现有的 IssuesFAQ 中没有相同 / 重复问题

Environment (环境信息)

  • Server Version: v1.0.0
  • Backend: RocksDB x nodes, HDD or SSD
  • OS: xx CPUs, xx G RAM, Centos 7.x
  • Data Size: xx vertices, xx edges

Expected & Actual behavior (期望与实际表现)

复现:下载release-1.0.0分支源码之后,执行mvn clean package -Dmaven.test.skip=true

  1. 本地Mac的编译顺序为:
    image
    先编译父模块,再编译子模块,符合预期

  2. Linux的编译顺序为:
    image
    先编译子模块,再编译父模块,不符合预期,这会导致最终生成的apache-hugegraph-incubating-1.0.0被delete

该问题未在之前版本出现,只在1.0.0版本出现。

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

@wuchaojing wuchaojing added the bug Something isn't working label Feb 17, 2023
@wuchaojing wuchaojing changed the title Mac和Linux上maven多模块编译顺序不同 [Bug]Mac和Linux上maven多模块编译顺序不同 Feb 17, 2023
@imbajin
Copy link
Member

imbajin commented Feb 17, 2023

Thanks for your report

这个是 centos 出现的么, 测试/CI在 ubuntu 环境没有复现, 比较奇怪, 另外麻烦确认一下 toolchain / commons / computer 这些模块编译顺序是否正常呢 (在你的 linux 环境)

另外你可以试试指定一下编译顺序, mvn xxx -pl a,b,c...e (-pl 来指定要编译的模块和顺序), 看看 server 是否可以正常编译

@wuchaojing
Copy link
Contributor Author

1、编译toolchain也是同样的问题
Mac:
image
Linux:
image

2、通过-pl指定是不可以指定父模块的,只能指定子模块

@imbajin
Copy link
Member

imbajin commented Feb 17, 2023

有些奇怪, 而且看到你的 hubble 编译顺序也倒置了, 似乎把所有 pom 的类型都放在了后面编译, 可以尝试以下:

  1. 确认 mvn 版本正常, 且配置等干净 (或者单独安装一个 mvn / 切换一个新用户排除环境影响)
  2. 如果是 clean 步骤导致的文件删除, 可以去掉编译里的 clean 直接编译

我们这边之后尝试启动一个 docker 的 centos 环境试试

@wuchaojing
Copy link
Contributor Author

有些奇怪, 而且看到你的 hubble 编译顺序也倒置了, 似乎把所有 pom 的类型都放在了后面编译, 可以尝试以下:

  1. 确认 mvn 版本正常, 且配置等干净 (或者单独安装一个 mvn / 切换一个新用户排除环境影响)
  2. 如果是 clean 步骤导致的文件删除, 可以去掉编译里的 clean 直接编译

我们这边之后尝试启动一个 docker 的 centos 环境试试

  1. 自己启动centos环境后,编译仍然存在问题(版本比较低Apache Maven 3.0.5 (Red Hat 3.0.5-17),但跟版本应该没关系)
  2. 是clean导致的删除,去掉clean是可以的

你们那边使用centos编译结果怎么样?

@imbajin
Copy link
Member

imbajin commented Feb 20, 2023

mvn版本太低了吧,至少要求3.5+,我记得有些插件都不完全支持低版(包括jdk高版编译)

推荐应该是3.8+了,可以尝试更新一下mvn版本(并且确保新的环境没有额外配置),这边 centos 还没反馈

@wuchaojing
Copy link
Contributor Author

确实是版本的问题,只不过同样的mvn版本在0.12.0上没有出现这个问题。感谢!

@imbajin
Copy link
Member

imbajin commented Feb 20, 2023

确实是版本的问题,只不过同样的mvn版本在0.12.0上没有出现这个问题。感谢!

因为新版重构/升级了不少maven结构和插件版本,之后可以看看在编译检查那设置一下提醒/报错低于3.5版本的maven升级,也欢迎搜一下提示方案 pr

@imbajin
Copy link
Member

imbajin commented Mar 3, 2023

确实是版本的问题,只不过同样的 mvn 版本在 0.12.0 上没有出现这个问题。感谢!

因为新版重构 / 升级了不少 maven 结构和插件版本,之后可以看看在编译检查那设置一下提醒 / 报错低于 3.5 版本的 maven 升级,也欢迎搜一下提示方案 pr

例如可以加入一下这样的检查, 避免用户无感知 @z7658329 @wuchaojing

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-all</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <DependencyConvergence/>
                                <requireJavaVersion>
                                    <version>[1.8,12)</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>[3.5.0,)</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants