我们正在将软件迁移到Java9。我正在使用的应用程序使用的是非常老的Java库,没有机会对其进行更新。
这是我们的pom.xml
文件片段:
<project>
<repositories>
..our private repositories
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<executable>javac10</executable>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>com.latencybusters.lbm</groupId>
<artifactId>UMSJMS</artifactId>
<version>5.3.6</version>
<classifier>windows</classifier>
</dependency>
</dependencies>
</profile>
</profiles>
我们当前的操作系统是Windows
。因此问题出在com.latencybusters.lbm库。
Intellij Idea
和其他任何类都不突出显示module-info.java
文件。因此,预计该项目将得到编译。
但是运行mvn clean compile -X
会返回
...
[WARNING] Can't extract module name from UMSJMS-5.3.6-windows.jar: lbmmsrc.class found in top-level directory (unnamed package not allowed in module)
...
module-info.java: module not found: UMSJMS
此错误的原因可能是什么?