草庐IT

编译ffmpeg

全部标签

java - 为什么要编译?类型删除

这个问题在这里已经有了答案:Whatisarawtypeandwhyshouldn'tweuseit?(16个答案)关闭6年前。为什么下面的编译?我收到一条警告,告诉我getTest()returnsarawtypesogetTestIntegers()iserased但我不明白为什么,getTestIntegers()不是通用的。我会期待Listtester=Test.getTest().getTestIntegers()产生编译错误publicclassScratchpad{publicstaticvoidmain(String[]args){newScratchpad().run

java - Lombok 中的 Val 在 IntelliJ 中产生 "incompatible types"错误,但仍然可以正常编译

我找到了这段代码:ClassenumClass=Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我想用Lombok重构它,但是发生了意想不到的事情。当我将其更改为:valenumClass=Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我遇到了这个错误:令人惊讶的是代码编译良好,并且使用它的测试通过了。我不确定这是Lombok插件、IDE中的错误还是我做错了什么。Lombok不应该能够轻松推断出变量的正确类型吗?我的问题是:我可以

Java 类通过 eclipse 中的外部 maven 编译,但不是(使用相同的 maven)从命令行编译

好吧,自从我开始工作(大约10年前)以来,我就一直在使用maven,但是这个真的让我感到困惑......这是我的pom:4.0.0company.projectArtifactwar1.0.3-SNAPSHOTNameiso-8859-1commons-langcommons-lang2.6org.eclipse.birt.runtimeorg.eclipse.birt.runtime4.6.0-20160607org.springframeworkspring-web3.1.1.RELEASEorg.springframeworkspring-webmvc3.1.1.RELEASEj

java类加载器和运行时编译

尽管警告要我放弃目前的做法,但我目前看不到更好的方法来解决我的问题。我必须生成在运行时运行Java代码,然后编译它、加载它并引用它。问题是生成的代码导入了系统类加载器已经加载的代码(我想)——也就是说,代码存在于我的类路径中的一个jar中。(我在Java6上的Tomcat6Web容器中运行。)您可能会问自己为什么这是个问题-好吧我肯定不知道-但事实是我遇到了编译错误:/W:/.../parser/v0.5/AssignELParser.java:6:packagecom.xxx.yyy.zzz.configurationdoesnotexist根据互联网上的一些示例,我定义了以下类:c

ant - 我可以在 Ant build.xml 中指定要编译的 JDK 路径吗?

我想在项目的一个分支中使用JDK1.6,而其他人继续使用JDK1.5。开发人员希望偶尔在它们之间切换。那么告诉Ant'sjavac的最佳方式是什么?使用哪个JDK?最好的意思是,我的意思是健壮、透明、低维护,与源代码一起进行版本控制(Ant本身和JDK当然不是,但它们位于标准位置)。我猜想在Ant之外是显而易见的(而不是最好的)方法:不断更改JAVA_HOMEenv变量。然而,这将需要开发人员手动切换(另一件事要记住:容易出错),更改所有-many-build服务器(现在对我来说更多的工作)。寻找一些简单的javac属性,例如jdk-path,我注意到了几个(感谢在网上和SO中阅读):

java - 在不重新编译实现类的情况下更改接口(interface)

我有以下类(class)publicabstractinterfaceX{publicabstractvoidf()throwsjava.io.IOException;}publicclassYimplementsX{publicvoidf()throwsjava.io.IOException{thrownewjava.ioIOException("Hello");}publicstaticvoidmain(String[]args){Xx=newY();try{x.f();}catch(IOExceptione){System.out.println("Caught");}}}现在我

java - Gradle 不加载从 buildsrc 中的 Java 源代码编译的 Java 类文件

我已经在groovy中实现了一个自定义任务。如果我为其在groovy(X.groovy)中实现的实用程序类提供一个实用程序类并将其放置在buildsrc中,任务就可以完成。如果我在Java(Y.java)中实现等效类并将其放在同一目录中,任务将失败并显示以下错误消息::buildsrc:compileGroovystartupfailed:Generalerrorduringconversion:Couldnotloadclass'com.myinc.gradle.api.data.Y'fromfile:/project/buildsrc/build/classes/main/com/

java - Diamond 不编译 Java 7

这个问题在这里已经有了答案:Whydoesthediamondoperatornotworkforjava.util.CollectionsmethodsinJava7?(3个答案)关闭7年前。我已经定义了以下泛型类,但是当我在类对象上使用它时它无法编译。构造函数不接受其他对象classPair{Tone;Vtwo;publicPair(Tone,Vtwo){this.one=one;this.two=two;}}publicstaticvoidmain(String[]args){Stringhamza="Hamza";Integersoufiane=0;PairpairOne=ne

java - 如果编译器警告的数量增加,我如何在 Jenkins 中构建失败?

在TeamCity中,我可以添加一个构建失败条件,如果编译器/检查警告的数量比之前的成功构建增加,则构建失败https://confluence.jetbrains.com/display/TCD9/Build+Failure+Conditions#BuildFailureConditions-Failbuildonmetricchange我如何在Jenkins中做同样的事情? 最佳答案 WarningsPlug-in应该做你想做的。它会根据警告的数量或可选的特定优先级的新警告将构建标记为不稳定或失败。如果如图所示将“所有优先级”设

java - 不会导致编译时错误的多个最大特定方法的示例

我需要深入了解Java中方法调用的细节,同时阅读ChoosingtheMostSpecificMethod部分在JavaLanguageSpecification(JavaSE12Edition)中,我发现在调用多个方法期间(1)可以最大程度地特定并且(2)拥有多个最具体的方法并不总是会导致编译时错误。我能够想到一个例子,其中两种方法都非常具体:interfaceA{}interfaceB{}classCimplementsA,B{voidfoo(Tt){};voidfoo(Tt){};}classMain{publicstaticvoidmain(String[]args){newC