Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包包含具有相同名称的对象和包_Java_Eclipse_Scala_Jenkins_Maven 3 - Fatal编程技术网

Java 包包含具有相同名称的对象和包

Java 包包含具有相同名称的对象和包,java,eclipse,scala,jenkins,maven-3,Java,Eclipse,Scala,Jenkins,Maven 3,使用Maven或Eclipse编译某些Scala时遇到问题,我试图从Java jar导入一个类,该jar包含名称空间和同名类。 但是,我可以使用scalac进行编译 例如,Java项目(jar)包含: src/foo/bar.java src/foo/bar/some_resource.txt -> foobar.jar Scala project references foobar.jar Foobartest.scala: import foo.bar class foob

使用Maven或Eclipse编译某些Scala时遇到问题,我试图从Java jar导入一个类,该jar包含名称空间和同名类。
但是,我可以使用scalac进行编译

例如,Java项目(jar)包含:

src/foo/bar.java

src/foo/bar/some_resource.txt

-> foobar.jar

Scala project references foobar.jar

Foobartest.scala:

import foo.bar

class foobartest {

}
编译器抱怨:

package foo contains object and package with same name: bar 
one of them needs to be removed from classpath
将Maven 3.0.03/Eclipse3.7.1与Scala 2.9.0.1一起使用(以及
Maven Scala插件

我遇到问题的jar是
jenkins-core-1.399.jar
——它肯定包含多个实例,其中存在同名的名称空间和对象。
我正在尝试用Scala编写Jenkins插件(我可以用Java编写,但更喜欢Scala,因为我们所有的库都在Scala中),它依赖于使用Maven-

.

中概述了这种限制

如中所述,您可以尝试使用“
解决术语冲突”
”,如中所实现:

添加了一个
-Y
选项来解决包和对象之间的命名空间冲突。
这是一个直言不讳的工具:如果人们有很多这样的冲突,他们需要以个人微妙的方式来解决,那么他们很可能仍然运气不佳


实际的编译器选项是“-Yresolve term conflict:strategy”,其中strategy是包、对象或错误。

嘿,你有没有用Scala编写过Jenkins插件?我在试sameYes,它在我的github上。我试图发表它,但老实说,我没有得到詹金斯人的大力支持。我也写了一个,并发布了它,但无法从插件管理器下载maven中的等效选项是什么?maven中的等效选项是什么?@Saurabh我没有发现任何明显的maven等效选项。我得到了它,在这里添加了:。
val termConflict  = ChoiceSetting     ("-Yresolve-term-conflict", "strategy", "Resolve term conflicts", 113 List("package", "object", "error"), "error")

// Some jars (often, obfuscated ones) include a package and
// object with the same name. Rather than render them unusable,
// offer a setting to resolve the conflict one way or the other.
// This was motivated by the desire to use YourKit probes, which
// require `yjp.jar` at runtime. See SI-2089.