草庐IT

byte-compiling

全部标签

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 - 如何指定一个常量是byte还是short?

对于long数据类型,我可以在一个数字后面加上L,让编译器知道它是long。byte和short呢?作为动机,以下会产生类型不匹配错误:Lista=Arrays.asList(1,2,3,4); 最佳答案 您实际谈论的是整数literal(1)与长literal(1L).在Java中实际上没有短字面量或字节字面量这样的东西。但它通常并不重要,因为存在从整数文字到类型byte、short和char。因此:finalbyteone=1;//notypecastrequired.仅当文字在要求的范围内时才允许隐式转换。如果不是,则需要进行

java - 将 Document 对象转换为 Byte[]

我是这样初始化文档对象的:DocumentBuilderFactorydocFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocBuilder=docFactory.newDocumentBuilder();Documentdoc=docBuilder.newDocument();之后,我通过向doc对象插入数据来构建XML文件。最后,我将内容写入计算机上的文件。我的问题是如何将doc中的内容写入byte[]?*这是我将内容写入XML文件的方式:TransformerFactorytransformerFacto

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 最佳答案

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 - 为什么在自动装箱期间发生 final long 到 Byte 的编译错误,但 final int 到 Byte 是可以的?

将int和short类型的常量自动装箱到Byte时没有错误,但long类型do有错误。为什么?finalinti=3;Byteb=i;//noerrorfinalshorts=3;Byteb=s;//noerrorfinallongl=3;Byteb=l;//error 最佳答案 来自JLSSec5.2,"Assignmentcontexts"(强调我的):Inaddition,iftheexpressionisaconstantexpression(§15.28)oftypebyte,short,char,orint:Anarro

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 - BigInteger 到 byte[]

我需要转换JavaBigInteger实例到它的值(以字节为单位)。从API中,我获得了此方法toByteArray(),它返回一个byte[],其中包含此BigInteger的二进制补码表示形式。因为我所有的数字都是正128位(16字节)整数,所以我不需要2的补码形式给我128位+符号位(129位)...有没有办法直接从BigInteger获取标准(没有2的补码形式)表示?如果不是,我如何右移整个byte[17]数组以丢失符号位以获得byte[16]数组? 最佳答案 你根本不需要移动。符号位是字节数组中最重要的(=最左边的)位。由