最近很多小伙伴都在问在Maven构建中使用EclipseJavaCompiler和ecj这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Compilingjava7forjava6
最近很多小伙伴都在问在Maven构建中使用Eclipse Java Compiler和ecj这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Compiling java 7 for java 6 with Eclipse、Eclipse Class Decompiler——Java反编译插件、Eclipse Class Decompiler——Java反编译插件的安装和使用、eclipse Java compiler level does not match the version of the installed Java project facet.等相关知识,下面开始了哦!
本文目录一览:- 在Maven构建中使用Eclipse Java Compiler(ecj)(maven integration for eclipse)
- Compiling java 7 for java 6 with Eclipse
- Eclipse Class Decompiler——Java反编译插件
- Eclipse Class Decompiler——Java反编译插件的安装和使用
- eclipse Java compiler level does not match the version of the installed Java project facet.
在Maven构建中使用Eclipse Java Compiler(ecj)(maven integration for eclipse)
Eclipse使用它自己的编译器(ECJ)来编译Java代码。调试使用Eclipse编译的程序更加容易,因为可以立即应用简单的代码更改(通过热代码替换)。
另一方面,Maven使用(默认情况下)oracle JDK,它会生成不同的字节码,从而防止在Eclipse调试会话中进行热代码替换。
因此,如果我打算调试程序,我想在我的maven构建中使用Eclipse ECJ编译器。对我来说,便捷的方式是使用“ ecj”配置文件:
编译发布
$ mvn package
编译快照并启用热代码替换
$ mvn -P ecj package
此外,可以在settings.xml
甚至Eclipse项目属性中指定概要文件激活。
我的问题是:
- 这是正确的方法吗?
- 如何配置?
- 可以使用Maven工具链吗?
答案1
小编典典可以更改javac
.NET使用的默认编译器maven-compiler-plugin
。Eclipse编译器捆绑在工件中,plexus-compiler-eclipse
并通过设置eclipse
为的compilerId
属性来声明它maven-compiler-plugin
。
如果要为自定义配置文件激活此更改,则可以具有以下配置:
<profile> <id>ecj</id> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <compilerId>eclipse</compilerId> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-eclipse</artifactId> <version>2.8.1</version> </dependency> </dependencies> </plugin> </plugins> </build></profile>
该插件在plexus-compiler
GitHub存储库中维护。版本2.8.1 使用JDT的3.11.1.v20150902-1521,尽管您可以通过org.eclipse.tycho:org.eclipse.jdt.core
在Plexus编译器依赖项之后添加依赖项来使用自己的版本。
Compiling java 7 for java 6 with Eclipse
我需要为Java 6编译一个项目,以与Java 6或7一起使用(我无法
升级自己一生中的所有计算机)。我一直在搜寻,
发现了一些有用的
东西,但是我对java还是很陌生-我不太了解如何使用
提出的替代方法(ant-build,Maven,javac)。
我的程序未使用Java 6中没有的任何API方法,但
确实使用了另一个外部.JAR的API(它是
示例程序的基本插件)
是否有使用Eclipse的Export函数执行此操作的简单方法,还是我需要
使用其他程序/方法?
如果我需要使用Eclipse以外的工具,我该如何最好地处理
依赖于另一个外部.jar的
答案1
小编典典在eclipse中右键单击您的项目,然后打开project properties。
然后导航至Java compiler并将合规性级别设置为1.6。
Eclipse Class Decompiler——Java反编译插件
Eclipse Class Decompiler插件更新站点: http://feeling.sourceforge.net/update离线安装包下载地址一: http://feeling.sourceforge.net/downloads/org.sf.feeling.decompiler_1.0.3.zip
离线安装包下载地址二: http://www.blogjava.net/Files/cnfree/org.sf.feeling.decompiler_1.0.3.zip
我的下载地址 http://pan.baidu.com/s/1jGGP6mi
直接使用Eclipse进行更新,支持Eclipse 3.x, 4.x,不依赖任何其他插件,直接勾选更新插件即可。

下图为Eclipse Class Decompiler的首选项页面,可以选择缺省的反编译器工具,并进行反编译器的基本设置。缺省的反编译工具为JD-Core,JD-Core更为先进一些,支持泛型、Enum、注解等JDK1.5以后才有的新语法。

首选项配置选项:
1.重用缓存代码:只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码。
2.忽略已存在的源代码:若未选中,则查看Class文件是否已绑定了Java源代码,如果已绑定,则显示Java源代码,如果未绑定,则反编译Class文件。若选中此项,则忽略已绑定的Java源代码,显示反编译结果。
3.显示反编译器报告:显示反编译器反编译后生成的数据报告及异常信息。
4.使用Eclipse代码格式化工具:使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。
5.使用Eclipse成员排序:使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。
6.以注释方式输出原始行号信息:如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。
7.根据行号对齐源代码以便于调试:若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。
8.设置类反编译查看器作为缺省的类文件编辑器:默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。
插件提供了系统菜单,工具栏,当打开了插件提供的类反编译查看器后,会激活菜单和工具栏选项,可以方便的进行首选项配置,切换反编译工具重新反编译,以及导出反编译结果。



打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。

Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。


Eclipse Class Decompiler——Java反编译插件的安装和使用
在开发过程中,如果想查看引入资源的源代码,可以借助eclipse的插件Enhanced Class Decompiler轻松实现,下面我来讲解一下如何安装使用这个插件。
1、打开Eclipse菜单-》Help-》Eclipse Marketplace
搜索到Enhanced Class Decompiler这个插件,然后直接安装
2、安装完成后,菜单-》Window-》Preferences
找到General-》Editors-》File Associations,把*.class without source里的Class Decompiler View置为default
Java-》Decompiler可以对这个插件进行设置,比如修改用哪种内核反编译代码,一般情况下使用默认的就可以
通过以上的设置,再打开编译过的class文件就会自动反编译了
eclipse Java compiler level does not match the version of the installed Java project facet.
eclipse Java compiler level does not match the version of the installed Java project facet.
CreateTime--2018年4月24日10:28:43
Author:Marydon
1.情景再现
2.选中项目-->右键-->Build Path-->Configure Build Path;
3.Java Build Path-->选中"JRE System Library"-->Edit;
4.选择"Alternate JRE",也可以选择"Workspace default JRE"-->Finish-->Apply;(我设置的是工作空间默认项)
5.Java Compiler-->下面说的是currently 1.7-->所以将1.5改为1.7-->Apply;
6.Yes-->OK即可。
相关推荐:
- eclipse 配置多个jdk(jre)
关于在Maven构建中使用Eclipse Java Compiler和ecj的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Compiling java 7 for java 6 with Eclipse、Eclipse Class Decompiler——Java反编译插件、Eclipse Class Decompiler——Java反编译插件的安装和使用、eclipse Java compiler level does not match the version of the installed Java project facet.的相关知识,请在本站寻找。
本文标签: