第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法實(shí)例化 sun.tools.attach.WindowsAttachProvider

無(wú)法實(shí)例化 sun.tools.attach.WindowsAttachProvider

阿晨1998 2023-03-23 16:26:38
我目前正在編寫(xiě)一個(gè)將代理附加到 JVM 進(jìn)程的附加程序,但我一直遇到這個(gè)問(wèn)題。這是我的代碼的簡(jiǎn)化版本:import com.sun.tools.attach.VirtualMachine;public class AgentAttacher {    public static void main(String[] args) {        try {            String pid = "some-pid-determined-elsewhere";            final VirtualMachine vm = VirtualMachine.attach(pid);            vm.loadAgent("agent.jar");            vm.detach();        } catch (Exception e) {            e.printStackTrace();        }    }}運(yùn)行時(shí)java -jar AgentAttacher.jar,出現(xiàn)以下錯(cuò)誤:java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.WindowsAttachProvider could not be instantiated我試過(guò)tools.jar從lib我的 JDK 目錄添加到CLASSPATH環(huán)境變量,包括在Class-Pathmy 中,并在運(yùn)行 JAR 時(shí)MANIFEST.MF直接指定它。-cp我相當(dāng)確定它tools.jar正在加載,因?yàn)樗趤G失時(shí)會(huì)給出不同的錯(cuò)誤:Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/attach/VirtualMachine我WindowsAttachProvider could not be instantiated在僅使用時(shí)也遇到了錯(cuò)誤,所以我認(rèn)為這與使用不正確的 PIDVirtualMachine.list()無(wú)關(guān)。attach()我嘗試使用以下方式加載課程Class.forName():public class AgentAttacher {    public static void main(String[] args) {        try {            Class.forName("sun.tools.attach.WindowsAttachProvider");        } catch (Exception e) {            e.printStackTrace();        }    }}我得到以下堆棧跟蹤:Exception in thread "main" java.lang.UnsatisfiedLinkError: no attach in java.library.path        at java.lang.ClassLoader.loadLibrary(Unknown Source)        at java.lang.Runtime.loadLibrary0(Unknown Source)        at java.lang.System.loadLibrary(Unknown Source)        at sun.tools.attach.WindowsAttachProvider.<clinit>(WindowsAttachProvider.java:175)        at java.lang.Class.forName0(Native Method)        at java.lang.Class.forName(Unknown Source)        at JavaAttacker.main(JavaAttacker.java:4)我的環(huán)境是帶有 JDK 和 JRE 1.8.0_212 的 VirtualBox 上的 Windows 10 Pro (1809) VM。
查看完整描述

3 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

看來(lái)問(wèn)題出在attach.dll沒(méi)有從%JAVA_HOME%\jre\bin.

將罐子運(yùn)行為:

java -Djava.library.path="%JAVA_HOME%\jre\bin" -jar AgentAttacher.jar

似乎有效,只要tools.jar在我的 jar 清單中指定即可Class-Path。


查看完整回答
反對(duì) 回復(fù) 2023-03-23
?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊

我遇到了同樣的問(wèn)題并以這種方式解決了它:


使用 jdk 11 構(gòu)建源,找不到tools.jar 或 tools.jar 是 windows


這是我的 pom.xml


    <dependency>

      <groupId>com.sun</groupId>

      <artifactId>tools</artifactId>

      <version>1.8.0</version>

      <scope>system</scope>

      <systemPath>${project.basedir}/lib/tools.jar</systemPath>

    </dependency>

# Create a local directory and put tools. jar in it

mkdir lib && cp %JAVA_8_HOME/lib/tools.jar% lib/

然后:


mvn package

java -jar attach-agent.jar


查看完整回答
反對(duì) 回復(fù) 2023-03-23
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

在 Java 8 中,附加 API 是 JVM 默認(rèn)不加載的單獨(dú) jar 的一部分。您必須將其顯式包含在類(lèi)路徑中。通常,它位于\libJDK 主目錄的文件夾中:

java -cp %JAVA_HOME%\\lib\\tools.jar -jar AgentAttacher.jar


查看完整回答
反對(duì) 回復(fù) 2023-03-23
  • 3 回答
  • 0 關(guān)注
  • 754 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)