亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法導入包 org.objectweb.asm

無法導入包 org.objectweb.asm

慕蓋茨4494581 2023-05-10 14:08:30
我正在嘗試編譯其他開發人員的開源自定義庫。我已經編譯或找到依賴項,但它無法在 gradle 中構建,因為它無法導入 java 的內部庫包org.objectweb.asm它是一個 java 內部庫,所以它必須在 tools.jar 中,但 build.properties 它已經導入了 java 的工具。 jar 和 aleady 應用插件 java 所以我不知道這是 build.properties(主要部分)allprojects {apply plugin: 'java'group 'com.nemosw.spigot'version '1.2.21'sourceCompatibility = 1.8targetCompatibility = 1.8compileJava.options.encoding = 'UTF-8'javadoc.options.encoding = 'UTF-8'repositories {    // junit    mavenCentral()    // nms spigot & mox    mavenLocal()}}project(':core') {processResources {    filesMatching('**/*.yml') {        expand project.properties    }}repositories {    maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }    maven { url = 'https://oss.sonatype.org/content/repositories/snapshots/' }    flatDir { dirs 'libs' }}}}其他部分可以在這里找到: https: //github.com/nemosrc/tap您還需要修復一些依賴項并編譯他的 mox 庫(所有這些)https://github.com/nemosrc/mox-mathhttps://github.com/nemosrc/mox-toolshttps://github.com/nemosrc/mox-collectionshttps://github.com/nemosrc/mox-task以及由于庫失敗而導致的大量錯誤。C:\tap\core\src\main\java\com\nemosw\spigot\tap\event\ASMEntityEventExecutor.java:6: 錯誤:包 org.objectweb.asm 不存在 import org.objectweb.asm.ClassWriter; ^C:\tap\core\src\main\java\com\nemosw\spigot\tap\event\ASMEntityEventExecutor.java:7: 錯誤:包 org.objectweb.asm 不存在 import org.objectweb.asm.MethodVisitor; ^C:\tap\core\src\main\java\com\nemosw\spigot\tap\event\ASMEntityEventExecutor.java:8: 錯誤:包 org.objectweb.asm 不存在 import org.objectweb.asm.Type; ^C:\tap\core\src\main\java\com\nemosw\spigot\tap\event\ASMEntityEventExecutor.java:15: 錯誤:包 org.objectweb.asm 不存在導入靜態 org.objectweb.asm.Opcodes。 *; ^C:\tap\core\src\main\java\com\nemosw\spigot\tap\event\ASMEventExecutor.java:9: 錯誤:包 org.objectweb.asm 不存在 import org.objectweb.asm.ClassWriter;
查看完整描述

4 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

您可以在 dependencies 塊中添加依賴項 -

dependencies {
    compileOnly 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT'
    compileOnly files(Jvm.current().toolsJar)
    compile 'com.nemosw.mox:mox-collections:1.0'
    compile 'com.nemosw.mox:mox-task:1.0'
    compile 'com.nemosw.mox:mox-math:1.0.2'
    compile 'com.nemosw.mox:mox-tools:1.1'
    compile 'org.ow2.asm:asm:'7.1'
}

您可以從該站點找到更多依賴項 https://mvnrepository.com/


查看完整回答
反對 回復 2023-05-10
?
達令說

TA貢獻1821條經驗 獲得超6個贊

你為什么會認為它是一個 Java 內部庫?

org.objectweb.asm包是 ASM 庫的一部分: https: //asm.ow2.io/

您可能希望將其添加到您的 Gradle 構建中:compile group: 'org.ow2.asm', name: 'asm', version: '7.1'


查看完整回答
反對 回復 2023-05-10
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

對于某些內部 API,這是 javac 中的限制。

您可以將此屬性與 javac 一起使用以使其工作 javac -XDignore.symbol.file=true

從 Java 9 開始,您可以使用 javac --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED


查看完整回答
反對 回復 2023-05-10
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

使用 Java 9+?創建一個名為module-info.java
的文件

module?com.example.nightmare?{?
???requires?org.objectweb.asm;
}

放在 jar 的根目錄或者 'java/main/src/resources'

(您的努力量或結果可能會有所不同,并且可能需要更多要求)

它是供 JVM 組件使用的內部類,它可能不僅在版本之間有意想不到的變化,而且在補丁中沒有計劃,所以使用風險自負。推薦的方法從與 JVM 使用的 jar 分開的 jar 加載版本。我推測將其保留在“內部”會增加 OpenJdk 開發和前沿部署的穩定性。絕不建議使用此類內部組件。

當然,很多事情不建議我們做。享受!


查看完整回答
反對 回復 2023-05-10
  • 4 回答
  • 0 關注
  • 614 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號