无法从some.jar中提取模块名称:在顶级目录中找到some.class(模块中不允许使用未命名的包)

时间:2019-05-29 17:08:55

标签: java maven java-9

我们正在将软件迁移到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

此错误的原因可能是什么?

0 个答案:

没有答案