草庐IT

pre-compilation

全部标签

java - GCJ(GNU Compiler for Java)是发布 webapp 的可行工具吗?

使用GCJ发布服务端应用真的可行吗?网络应用程序?我的老板坚信将我们的(我的)网络应用程序编译成二进制可执行文件是一个绝妙的主意。(话又说回来,他喜欢漂亮的、小的、简单的东西,上面有他能理解的闪烁的灯光。)他本能地认为这没有问题,而我只看到无穷无尽的一系列问题和退化。一旦我开始和他谈论我们平台的复杂性,以及字节码、JVM、库、操作系统之间的差异、处理器架构等更深入的细节……好吧……他的眼睛呆滞了,他微笑着说他已经明确表示他认为我在幼稚地抗拒。他为什么要一个魔法可执行文件?他看到了几个“好处”:如果它是二进制可执行文件,则很难进行逆向工程和规避任何许可。管理层一直担心这种情况会发生,即使

java - 为什么 "test-jar"需要 "mvn compile"依赖项

我在多模块项目中使用test-jar依赖项时遇到问题。例如,当我像这样声明cleartk-syntax模块依赖于cleartk-token模块的test-jar时(完整代码是here):4.0.0org.cleartkcleartk-syntax0.5.0-SNAPSHOTcleartk-syntax......org.cleartkcleartk-token0.7.0-SNAPSHOTtest-jartest如果我使用maven2运行mvncompile,我会收到以下错误:[INFO]--------------------------------------------------

java - 核心异常 : Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException

每次我创建一个maven简单项目时,我都会遇到以下错误。请让我知道可能的解决方案。我尝试了很多方法来解决它但都失败了。可能是什么原因?这是因为eclipse还是因为存储库或任何证书问题?CoreException:CouldnotgetthevalueforparametercompilerIdforpluginexecutiondefault-compile:PluginResolutionException:Pluginorg.apache.maven.plugins:maven-compiler-plugin:3.1 最佳答案

javassist 在 pre-main 方法中加载一个类文件(java instrumentation)

我正在尝试使用javassist加载特定类,我在pre-main方法中执行此操作,如下所示:publicbyte[]transform(ClassLoaderloader,StringclassName,ClassclassBeingRedefined,ProtectionDomainprotectionDomain,byte[]classfileBuffer)throwsIllegalClassFormatException{byte[]byteCode=classfileBuffer;if(className.toLowerCase().endsWith("class1")){Cl

java - Maven 故障保护插件 : how to use the pre- and post-integration-test phases

我并不完全清楚如何最好地使用MavenFailsafe插件进行集成测试。我的用例是针对本地MySQL数据库测试SQL查询。据我所知,数据库应该在pre-integration-test阶段启动,并在post-integration-test阶段关闭。但是我该如何指定呢?我应该在我的pom.xml中放入命令行吗?或者我应该使用特定注释来注释的方法? 最佳答案 在常规built-inmavenlifecycles(jar,war...)pre-integration-test和post-integration-test测试阶段未绑定(b

Java 8 lambda 表达式 : Mapping a Stream to type Integer and then calling sum() won't compile

我在玩Java8lambda表达式。作为一个例子,我然后尝试总结列表中包含的年龄:importjava.util.Arrays;importjava.util.List;publicclassPerson{publicstaticvoidmain(String[]args){Listpersons=Arrays.asList(newPerson("FooBar",12),newPerson("BarFoo",16));IntegersumOfAges=persons.stream().map(Person::getAge).sum();System.out.println("summe

java - 为 maven-compiler-plugin 设置默认的 jdk

我刚刚在一个新的ubuntu系统上安装了maven,其中包括maven-compiler-plugin。我有一个以前构建良好的java项目,默认为javac源和目标5(jdk1.5)。但是现在项目正在尝试在新系统上使用jdk1.3编译。有没有一种简单的方法来配置系统以使用>=jdk5?以下是系统的一些配置细节:$java-versionjavaversion"1.6.0_45"$dpkg-smavenPackage:mavenStatus:installokinstalledPriority:optionalSection:javaInstalled-Size:1489Maintain

Java 8 方法引用 : validation of methods at compile time

我想使用Java8的新方法引用在编译时提供对某些代码的更多验证。假设我有一个validateMethod方法,它需要一个参数:要验证的“方法”。例如:validateMethod(foo,"methodA");此处,该方法将验证foo#methodA()是否存在,在运行时。使用方法引用,我希望能够做到:validateMethod(foo::methodA);因此该方法的存在将在编译时验证。问题是方法引用似乎必须分配给功能接口(interface)。例如,这个:Objectdummy=foo::methodA;生成错误:“此表达式的目标类型必须是函数式接口(interface)”。如果

java - Ant 和java 8 - "major version 52 is newer than 51, the highest major version supported by this compiler"

我正在尝试将我的ant项目从java7升级到java8。(该项目部署在“EclipseKepler”中,带有“Java™8supporttoEclipseKeplerSR2”)为此,我下载了ant1.9.4(根据这篇文章http://wiki.eclipse.org/Ant/Java8),并将其配置为我的“Ant之家”。当我尝试编译时收到以下警告:“主要版本52比51新,后者是此编译器支持的最高主要版本。[javac]建议升级编译器。”但是为工作区定义的编译器是1.8。(在ant配置中,它将编译器定义为与工作空间相同的编译器。)知道发生了什么事吗?非常感谢。埃亚尔

java - 未能执行目标 org.apache.maven.plugins :maven-compiler-plugin (default-compile) on project: Fatal error compiling: tools. 未找到 jar

我已完成http://www.tutorialspoint.com/jsf/jsf_environment_setup.htm中提供的所有步骤ApacheMaven和Apachetomcat都已准备就绪。我还设置了环境。我在Eclipse中创建了Maven项目,当我使用Maven构建运行它时,它给出了构建失败。它给出了这个错误"Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile(default-compile)onprojectHello2:Fatalerrorcompiling