草庐IT

编译时

全部标签

java - 如何保护解密 key 不被反编译?

我是一名初级Java程序员。我正在开发一个解密某些数据的应用程序。解密key被硬编码到软件中,因此可以通过分析字节码看到。我知道逆向工程是无法完全避免的,所以我想做的是让这个过程尽可能困难。我的想法不是直接将key放入我的代码中,而是让它经过某种转换。例如,我可以写-privatestaticfinalbyte[]HC256A=Hex.decode("8589075b0df3f6d82fc0c5425179b6a6"+"3465f053f2891f808b24744e18480b72"+"ec2792cdbf4dcfeb7769bf8dfa14aee4"+"7b4c50e8eaf3a9

java - 如何反编译 .jar 文件?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:WherecanIfindaJavadecompiler?HowtodecompileawholeJarfile?我有一个.jar文件。它是一个文件,但我想“反编译”它以获得原始的Java代码(或任何最接近Java代码的代码——我可以理解和编辑的东西)。我相信我的文件(特别是)是一个javaapplet,但它被保存为一个可执行的jar文件(.jar)。我怎么会做这样的事情?

java - 如何在 Linux 终端中编译带有外部 jar 文件的 java 项目

我有一个包含外部jar文件的项目,我点击了这个链接http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29添加外部java路径。然后我尝试在终端中编译我的代码,但是我仍然收到关于jar文件不存在的错误。我写了如下命令:(目前我在项目目录下,里面有binsrc和lib三个文件夹)bash-3.2$lsbinlibREADME.txtsrcbash-3.2$javac-cplib/jsoup-1.6.1.jarsrc/DayTradingStockBlog.javabash-3.2$java-c

java - 使用带有 java 1.8 和 netbeans 的 maven-compiler-plugin 2.5.1 的 Java 注释编译错误

我刚开始用Java编写注释。我试图按照本教程编写自己的代码:PlayingwithJavaannotationprocessing我写的一切都是原样,但在编译过程中出现错误:Badserviceconfigurationfilejavax.annotation.processing.ProcessorProvidernotfound.我将netbeans和maven与插件maven-compiler-pluginv.2.5.1一起使用。和Java源v.1.8。在我的pom.xml文件中,我有(如页面中建议的)以下代码:maven-compiler-plugin2.5.11.81.8-p

java - 构建成功但没有编译源

Eclipse控制台中的Maven测试输出:[INFO]Scanningforprojects...[WARNING][WARNING]SomeproblemswereencounteredwhilebuildingtheeffectivemodelforMabi:Mabi:jar:0.0.1-SNAPSHOT[WARNING]'dependencies.dependency.(groupId:artifactId:type:classifier)'mustbeunique:org.seleniumhq.selenium:selenium-java:jar->duplicatedecl

Java编译速度

我有一个包含约2400个类的Java项目。它们主要是使用XJC从带有一些扩展的XML模式生成的。编译需要很长时间,大约20分钟,我想知道我是否可以做些什么来改进它?一个类似的项目有大约一半数量的生成类,而是几个手写类,总共约3000个类。这会在2-5分钟内完成编译。我正在使用Java8(Windows上为1.8.0_92)进行编译,但使用的是源版本和目标版本6(因此问题不在于Java8上的慢速类型系统)。使用Maven-compiler-plugin3.5.1使用Maven3.3.3完成编译。我正在从Maven中fork编译器并使用maxmem2048m。生成的类通常很小,但我有一个庞

java - 是否可以在不使用编译器标志的情况下在同一个项目中混合使用 Java 8 和 Java 9 源代码?

在Java9中,您可以选择通过添加module-info.java将源目录打包为模块,它定义了它导出的事物包,以及它所依赖的其他模块。然而,一旦你这样做了,你必须在模块描述符中列出所有的依赖——并且依赖本身必须都是模块。因此,推而广之,如果您对单个源目录进行模块化,则必须对公司范围内的每个单个源目录进行模块化。此外,您不能在Java8或更早版本中定义模块,这意味着除了模块化每个Java源目录之外,您还必须同时将所有内容转换为Java9。如果您在一家拥有由许多不同项目共享的大量代码库的公司工作,这似乎是灾难性的。目前,我可以通过设置一堆编译器标志来避免定义模块来解决这个问题,但这似乎是一

java - Eclipse 3.5.1 编译器错误 :The type OutputFormat is not accessible due to restriction on required library . ./rt.jar

这个错误很奇怪,我无法理解它。我已经安装了EclipseRCP3.5.1,JavaSE1.6更新16并切换到SWT3.5。我创建了一个新项目,设置了依赖项并尝试编译。尝试导入时,请使用以下内容:importcom.sun.org.apache.xml.internal.serialize.OutputFormat;importcom.sun.org.apache.xml.internal.serialize.XMLSerializer;我得到错误:Accessrestriction:ThetypeXMLSerializerisnotaccessibleduetorestrictiono

java - 编译器会优化重复的数学计算吗?

Java编译器是否会优化简单的重复数学运算,例如:if(prevX/width!=curX/width){//DosomethingwithprevX/widthvalue}else{//DosomethingwithcurX/widthvalue}我知道我可以在if语句之前将结果分配给变量,然后返回变量,但这有点麻烦。如果编译器自动识别正在进行相同的计算并自行将结果缓存到临时变量,我宁愿坚持上述约定。*编辑-我是个白痴。我试图简单/抽象我的问题太多。它并不简单:if(x>y) 最佳答案 答案是肯定的。这叫做CommonSubexp

没有任何意义的 Java 编译器错误(预期为 <identifier>)

我已经为这个编译器错误做了很多搜索expected手段,而且它们似乎都不适用于我的情况。如果这是重复的或基本信息,我真的很抱歉,但我在任何地方都找不到任何东西。下面的代码工作正常。注意我是正myObject1确实是HashSet所以Actor没问题。@SuppressWarnings("unchecked")HashSets1=(HashSet)myObject1;以下代码无法正常工作。它会编译,但会出现警告。@SuppressWarnings("unchecked")HashSets1;s1=(HashSet)myObject1;然后我尝试下面的代码。@SuppressWarning