java—在找不到自己的模块时如何jlink?

o2g1uqev  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(661)

我有这样的目录结构:
测试链接
-src公司
--module-info.java模块
--通信
---公司
----测试链接
-----测试链接.java
我运行这个jlink--module path src--add modules com.company.testjlink--output outputjre
出现错误:找不到模块com.company.testjlink
my module-info.java的内容如下:

module com.company.TestJlink {
        
  requires java.desktop;
    
  requires com.microsoft.sqlserver.jdbc;
        
  requires java.sql;
        
  requires sshj;
    
}

我的testjlink.java包含

package com.company.TestJLink;
imports ...
public class TestJLink {
    TestJlink(){}
...
}

我用的是Java11
我可以用这个来构建它:java-pc:\users\administrator…\target\classes;c:\users\administrator.m2\repository\com\microsoft\sqlserver\mssql jdbc\8.4.1.jre11\mssql-jdbc-8.4.1.jre11.jar;c:\users\administrator.m2\repository\com\hierynomus\sshj\0.27.0\sshj-0.27.0.jar;c:\users\administrator.m2\repository\org\bouncycastle\bcprov-jdk15on\1.60\bcprov-jdk15on-1.60.jar;c:\users\administrator.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.60\bcpkix-jdk15on-1.60.jar;c:\users\administrator.m2\repository\com\jcraft\jzlib\1.1.3\jzlib-1.1.3.jar;c:\users\administrator.m2\repository\net\i2p\crypto\eddsa\0.2.0\eddsa-0.2.0.jar;c:\users\administrator.m2\repository\org\slf4j\slf4j-api\1.7.5\slf4j-api-1.7.5.jar;c:\users\administrator.m2\repository\org\slf4j\slf4j-log4j12\1.7.5\slf4j-log4j12-1.7.5.jar;c:\users\administrator.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar-m com.company.testjlink/com.company.testjlink.testjlink

5lwkijsr

5lwkijsr1#

首先用javac解决了这个问题,我也遇到了一些问题。我找到的解决方案只是将其添加到javac src\module-info.java src\com\company\testjlink\testjlink.java的末尾
在它被编译之后,我能够链接它。我之前使用jlink时遇到的问题是我引用的是src,而不是编译的.class文件。
jlink--模块路径--输出testjre--添加模块com.company.testjlink-p。。。maven jars等的任何其他依赖项。
现在我得到这个错误,错误:自动模块不能与jlink一起使用。这应该很有趣,但这与我的maven依赖性有关,而不是实际的示例。

相关问题