在项目代码里用了sun.misc.Signal和sun.misc.SignalHandler, 自己的Mac下编译没问题, 在别人的Windows下编译报"警告:sun.misc.Signal 是 Sun 的专用 API,可能会在未来版本中删除", 警告也就算了, 还tmd编译失败, maven -e 打出来的异常是:
[INFO] Trace
org.apache.maven.BuildFailureException: Compilation failure
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
... 17 more
看到这个我估计就是maven的问题了, 搜了一下, 居然发现“钱总”在部门的team blog里发了篇有关这个问题的blog
,真tmd悲剧,早知道也不用费那么些周折搜来搜去了。
恍然记得平台另一个框架里也用了sun.misc包里的东西,就问了下他们怎么编译过的, 最后的答案是直接把类拷贝出来了 :-( 这也行...
这里是钱总那里讨过来的解决方法:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<optimize>true</optimize>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>1.8.1-patch</version>
</dependency>
</dependencies>
</plugin>
其实最简单的方法就是别用中文的locale,哈哈
分享到:
相关推荐
Maven API使得开发者能够通过简单的命令行指令或者编程方式来执行构建任务,如编译、测试、打包、部署等。 **一、Maven API 的构成** 1. **Project Object Model (POM)**: Maven 项目的中心是POM,它是一个XML文件...
Maven通过POM文件管理项目的依赖关系,它会自动下载并管理项目所需要的库,避免了版本冲突的问题。在`pom.xml`中,你可以列出项目所需的依赖,如: ```xml <groupId>com.example.dependency</groupId> ...
在pom.xml中添加相关配置,如设置`<fork>true</fork>`,让Maven使用独立的JVM实例进行编译,以及设置`${JAVA_HOME}/bin/javac</executable>`,指定使用哪个JDK的javac编译器。 5. **优化Maven的settings.xml**: ...
Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...
在Maven项目中,下载失败的jar包是一个常见的问题,它们会占用磁盘空间,影响开发效率和心情。因此,清除这些下载失败的jar包变得非常重要。本文将详细介绍如何使用批量删除maven下载失败的jar包的方法。 首先,...
eclipse 中编译、运行都正常,但是如果用maven的打包命令 mvn clean package 进行打包时会发现有类型错误
Maven的插件系统允许扩展其功能,如编译Java代码(maven-compiler-plugin),打包应用(maven-jar-plugin),创建站点文档(maven-site-plugin)等。开发者可以通过在POM中配置插件来实现特定的构建任务。 **5. ...
hudi编译失败,不能通过maven自动下载的jar包,包括: pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar, kafka-schema-registry-client-5.3.4.jar,kafka-avro-serializer-5.3.4.jar,common-utils-5.3.4.jar,common-...
maven编译pentaho-big-data-plugin遇到的所有问题解决,pentaho6.0
在现有的`pom.xml`文件中添加Flex Maven插件的相关配置。如果没有,可以使用Maven的 archetype:generate 命令创建一个新的Flex项目。 3. **配置pom.xml**: `pom.xml`是Maven项目的配置文件,我们需要在这里定义项目...
2. **依赖管理 (Dependency Management)**:在POM中声明项目所需的外部库,Maven会自动下载并管理这些依赖,避免了库版本冲突的问题。 3. **坐标 (Coordinates)**:每个Maven项目都有唯一的坐标,由groupId、...
Maven是一个采用纯Java编写的开源项目管理工具。Maven是很重要的,我们可以对我们所编写的代码进行预编译。
之前用maven开发,每修改一次代码都需要重新编译发布一次,于是后面我用了jrebel实现热编译,这样开发就方便了很多,后面开发都只需要编译一次,有代码或者页面改动,都会自动去编译,不用maven再重新编译发布一次,...
当这些依赖项的URL发生变化,Maven无法自动找到正确的资源,从而导致编译失败。 为了解决这个问题,我们需要手动下载缺失的jar包。这通常涉及到查找新的依赖仓库或直接从源代码构建这些库。在下载完成后,你可以将...
"Jenkins+maven编译发部JAVA项目" Jenkins 是一个开源的自动化服务器,主要用于自动化各种任务,例如构建、测试、部署等。Maven 是一个项目管理工具,主要用于管理项目的依赖关系、编译、打包、部署等。下面将详细...
删除maven仓库中的失败文件,删除maven仓库中的失败文件,删除maven仓库中的失败文件,删除maven仓库中的失败文件,删除maven仓库中的失败文件,删除maven仓库中的失败文件,删除maven仓库中的失败文件,
自己学习并应用Spark一段时间后,由于需要改源代码,就研究了下怎么编译源码,成功编译后,记录下了编译的步骤和遇到的问题,例如编译过程中,下载大量的依赖包,默认从国外下载,非常慢,可能要编译好几个小时,...
### 使用Maven编译Hadoop 2.7.1 的详细步骤及注意事项 #### 一、编译前的准备 **1.1 下载并解压Hadoop源码包** 根据作者gyqiang的说明,要编译的是Apache Hadoop 2.7.1版本,该版本发布于2016年1月4日,是当时...
在这个“reportng源码(maven编译打包)”项目中,我们可以看到ReportNG的源代码,它是使用Maven构建系统进行管理的。Maven是一个广泛使用的Java项目管理和集成工具,它帮助开发者自动化构建、依赖管理和项目信息管理...