【javac编译-多个文件夹中的代码】教程文章相关的互联网学习教程文章

从java编译中排除类的特定方法【代码】

我想从java编译中排除类的特定方法. 例如:class Test { public void printdouble(){}public void printint(){}}根据某些属性,我想在编译期间排除printdouble方法. 注意:我正在使用ant脚本进行java编译 提前致谢好有型解决方法:您需要使用一种形式的条件编译来实现此目的. Here’s a tutorial关于如何用Ant做到这一点.

Javassist与比赛Java编译器API

在我正在进行的项目中,我需要在运行时生成Java类.我稍后在使用这些类时还需要避免使用反射. 我一直在寻找目前的解决方案,并找到了Javassist和Java 6 Java Compiler API. 我很困惑: > Javassist用来生成什么班?它是否使用反射或什么?>我编写了一些测试并找到了它很容易生成字节码从源代码,然后加载生成的字节码中的类.使用有什么好处Javassist对此解决方案?解决方法:Javassist有几个选项,一个是一个小的包含编译器,允许您将Java...

当我在Java中迭代Non-Generics Map时,编译器会抱怨【代码】

当我在Java中迭代非泛型地图时,我遇到了问题Map map=new HashMap(); for (Map.Entry entry:map.entrySet()){}但编译器抱怨并说“类型不匹配:无法从元素类型Object转换为Map.Entry”当我将Map类型更改为Generics时,它可以工作Map<Object,Object> map=new HashMap<Object,Object>(); for (Map.Entry entry:map.entrySet()){}这让我很困惑,有谁知道是什么原因?提前致谢.解决方法:当你使用原始类型时,就像你在这里使用Map一样,所有泛...

使用javac编译Java程序成功,但运行时出现NoClassDefFoundError【代码】

class HelloWorld { public static void main(String[] args) { System.out.println("hey");} }命令提示会话:C:\Users\zobdos\Desktop>javac HelloWorld.javaC:\Users\zobdos\Desktop>dir *.classVolume in drive C is OSVolume Serial Number is A45E-7B01Directory of C:\Users\zobdos\Desktop11/20/2010 10:16 AM 417 HelloWorld.class1 File(s) 417 bytes0 Dir(s) 8,145,432,576 bytes freeC:\U...

Jenkins 通过 maven 构建编译 JAVA 项目环境【代码】【图】

jenkins 通过maven 构建编译 java 项目环境官网下载合适Jenkins版本包; 1、jenkins http://mirrors.jenkins.io/war-stable/ 2、Jdk curl -L -O http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz 3、JDK SE http://120.52.72.24/download.oracle.com/c3pr90ntc0td/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz?AuthParam=1500723059_7dfe39db8f8c6b0...

如何给女朋友解释Java中编译与反编译【图】

某天下班后,我在家里进行电话面试,问到面试者这样一个问题:"你知道使用哪些办法可以反编译Java代码吗?"。但是面试者回答的并不好,所以我在面试评价中写到:"对编译原理相关知识理解的不透彻"。这时,女朋友看到这句话。计算机语言 计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。 计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作...

java – 为什么要编译?代码似乎打破了类型参数的约束【代码】

在下面的测试中,TesterClass对其两个类型参数之间的关系设置了约束.方法func2()似乎打破了这个约束,我希望它会在某处导致类型编译错误(在func2的定义中,或者每当类与String之外的任何第二个参数一起使用时),但它不会! 此外,如果我调用func2并将结果保存在适当类型的变量中,则编译失败(在该变量的类型上).但是做同样的事情并保存在更通用的类型(例如Object)中会成功,尽管事实上函数的返回类型在两种情况下都应该具有相同的类型(在向...

我如何知道编译了.class文件的Java版本?

我试图找出如何通过查看其二进制数据来确定.class文件的版本.我知道使用javap会告诉我版本 – 但不幸的是我并不总是在我需要检查的机器上安装JDK.但我可以访问普通的旧HEX编辑器…… 我尝试从经过认证的来源找到这方面的文档 – 我能够得到的就是这个:http://fredericktang.wordpress.com/2007/09/28/java-class-file-version/虽然这篇博文非常精彩 – 但它并没有真正备份官方Java文档. 任何提示? 编辑:没关系 – 抱歉 – 我找到...

java – AspectJ – 为什么使用注释而不是ajc编译器?

我们可以使用@AspectJ注释样式来定义方面,以及AspectJ Java扩展语言,这需要我们使用ajc编译器. 人们想要使用注释样式而不是ajc的原因是什么?在我看来,通过使用注释样式放弃了很多功能,但除了不必使用ajc之外没有太多(如果有的话)获得(不得不使用ajc这么糟糕?) 有人可以请教我这个话题吗?解决方法:两种样式(.aj和@AspectJ)都具有另一种不能做的功能. 请参阅这篇文章,了解注释可以做的事情,声明性的AspectJ不能:What is the Aspe...

Java:编译时解析和“最具体的方法”,因为它适用于变量arity【代码】

有人能帮我理解section 15.12.2.5 of the JLS re: most specific method吗? (随后是来自JLS的大胆剪切和粘贴)In addition, one variable arity member method named m is more specific than another variable arity member method of the same name if either:One member method has n parameters and the other has k parameters, where n >= k. The types of the parameters of the first member method are T1, . . . , Tn-1 ...

android – (二进制,NDK)C应用程序与Java应用程序(Dalvik字节码)的反编译

好, 因为我对再造感兴趣,所以到目前为止我花了很多时间在Android重新设计上. 不过我得到了一个问题,我遇到了编译的二进制C代码(NDK)的问题,我知道将它反编译回C/C++非常困难,而不是将DEX文件反编译回或多或少. Java源代码. 这是什么原因?我的意思是字节码由Dalvik VM执行,如果是通常的二进制文件,它由真实处理器直接执行.两者都非常相似,除了一些额外的仿真层,不是吗?我目前没有看到太多的差异或这个问题的原因. 您是否有任何信息...

java – 如何防止jar反编译

我在Eclipse中创建了一个插件项目,以jar形式分发.用户可以使用这个jar并使用JAD对其进行反编译.有什么办法可以阻止jar文件的反编译吗?或者,至少,从用户隐藏我的源代码?解决方法:如果您没有在jar中插入源代码,那么源代码不是反编译器反编译的内容,而是类似的内容. 但是,您可能会使用混淆器来使代码反编译产生非常难看的代码,如Proguard.ProGuard is a free Java class file shrinker, optimizer, obfuscator,and preverifier. It ...

java – 在NetBeans中编译/运行EJB代码(初学者)

我是Java EE / EJB的新手,对它知之甚少. 我已经下载了NetBeans(7.01)和GlassFish(3.01).但是,因为我不知道EJB,并且没有得到如何在NetBeans中运行代码,其中包括一个简单的无状态会话Bean,一个JSP和一些Servlet. 我发现了一个很好的示例代码Calculator Example.任何正文都可以通过一步一步的程序来帮助我如何运行NetBeans示例?提前致谢.解决方法:我建议你不要使用链接教程.它似乎是从2011年开始,但它仍然讨论了许多部署描述符和家庭...

是Java Bootstrapped的编译器吗?

是Java Bootstrapped的编译器吗? 如果它是自举的,那么java的第一个编译器是如何编写的?解决方法:这是一个有趣的问题.来自Oracle的当前javac编译器,它只是许多(1)中的一个编译器,实际上是用Java编写的,这意味着,是的,您可以认为它是自举的,假设您的定义意味着“已经被引导以便它现在可以自行编译” (2). 虚拟机本身主要是从内存中写入C,因此,在编译器被引导时,构建JRE需要C编译器. (1)GCJ是另一个,它碰巧是用C语言编写的,所以它取...