假设我有四个项目:
在这种情况下,如果我运行项目A,Maven将正确解析对D的依赖.如果我理解正确,Maven总是采用最短路径的依赖.由于D是A的直接依赖,因此将使用它而不是在B中指定的D.
但现在假设这个结构:
在这种情况下,解析D的路径具有相同的深度.发生的事情是Maven会发生冲突.我知道有可能告诉Maven他应该排除依赖关系.但我的问题是如何解决这类问题.我的意思是在现实世界的应用程序中,你有很多依赖,也可能有很多冲突.
最佳实践解决方案是真的排除东西还是有其他可能的解决方案?当我突然得到ClassNotFound Exception时,我发现很难处理,因为某些版本已经改变,这导致Maven采取不同的依赖.知道这一事实的原因使得更容易猜测问题是依赖性冲突.
我正在使用maven 2.1-SNAPSHOT.
有没有人尝试过该功能并有一些反馈?或者有人知道一些有用的样本要查找吗?
考虑这个例子:
public static void main(final String[] args) {
final List<String> myList = Arrays.asList("A", "B", "C", "D");
final long start = System.currentTimeMillis();
for (int i = 1000000; i > myList.size(); i--) {
System.out.println("Hello");
}
final long stop = System.currentTimeMillis();
System.out.println("Finish: " + (stop - start));
}
Run Code Online (Sandbox Code Playgroud)
VS
public static void main(final String[] args) {
final List<String> myList = Arrays.asList("A", "B", "C", "D");
final long start = System.currentTimeMillis();
final int size = myList.size();
for (int i = 1000000; i > size; i--) …Run Code Online (Sandbox Code Playgroud) java compiler-construction performance for-loop microbenchmark
如果我有父pom并希望将其继承到多个项目.我通常在项目的顶部添加<parent> ... </parent>.我不喜欢这种方法的是,如果我父母的某些内容发生了变化,我必须编辑该父项继承的所有项目以修改版本号.有更好的方法吗?我希望我能解释的是可以理解的.
提前致谢.
假设我有以下情况:
public class A {
public String createString(final String value){
if (value == null){
throw new NullPointerException("value must NOT be null.");
}
final StringBuffer sb = new StringBuffer();
sb.append("A");
sb.append("B");
sb.append("C");
if (value.length() > 3){
sb.append("D");
sb.append("E");
}
sb.append("Z");
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
另一个类应该做类似的任务:
public class B {
public String createString(final String value){
if (value == null){
throw new NullPointerException("value must NOT be null.");
}
final StringBuffer sb = new StringBuffer();
sb.append("A");
sb.append("B");
sb.append("C");
sb.append("Z");
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
什么是避免重复代码的好策略?到目前为止我想出的是B类具有A的子集功能,因此应该从A类扩展并且相同的任务应该重构为受保护的方法(假设它们在同一个包中).这就是它的样子: …
我正在使用来自jmeter的访问日志采样器,并将其设置为如下所述:Access Log Sampler Tutorial
但是,当我开始测试时,它只执行我的日志文件的第一个条目.我真的不明白这个?有人有类似的问题吗?任何帮助都是通过thx来获得的.
kukudas
假设我有一个具有ClickHandler的自定义小部件.这是一个例子:
public class TestWidget extends Composite {
private static TestWidgetUiBinder uiBinder = GWT
.create(TestWidgetUiBinder.class);
interface TestWidgetUiBinder extends UiBinder<Widget, TestWidget> {
}
@UiField
Button button;
public TestWidget(String firstName) {
initWidget(uiBinder.createAndBindUi(this));
button.setText(firstName);
}
@UiHandler("button")
void onClick(ClickEvent e) {
Window.alert("Hello!");
}
Run Code Online (Sandbox Code Playgroud)
}
当我尝试添加这个Widget时:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.get().add(testWidget);
Run Code Online (Sandbox Code Playgroud)
一切都好.如果我点击我的按钮,我会得到我期望的消息.但是如果我像这样添加它:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.getBodyElement().appendChild(testWidget.getElement());
Run Code Online (Sandbox Code Playgroud)
我的点击事件没有被解雇.我很难理解为什么.如果有人可以向我解释这个或将我链接到我可以阅读它的资源,那将是很好的.最后我想知道是否可以添加clickhandler,之后我附加了子事件,如果建议那样.谢谢它提前寻求帮助.
裤裤
我有一个项目,作为maven依赖一个jar文件,其中包含一个xml文件,我存储我的checkstyle规则.我认为只使用这个配置就可以了:<configLocation> mycheckstyle.xml </ configLocation>.我的理解是应该在类路径上搜索文件,我的jar文件是Maven依赖项,所以应该找到它,但是我得到一个资源未找到异常.有什么建议?提前致谢..
裤裤
是否有一个很好的教程或有没有人有设置这个的经验?我有一个Testsuite.html,它在一个浏览器atm中启动我的测试.这是在maven selenium插件的集成测试生命周期中完成的.我想在多个浏览器上运行我的测试.我找不到关于selenium grid + maven的任何文档.我希望有人可以帮助我.
提前谢谢,kukudas
maven-2 ×4
java ×3
maven ×2
checkstyle ×1
for-loop ×1
gwt ×1
hudson ×1
inheritance ×1
jenkins ×1
jmeter ×1
maven-plugin ×1
oop ×1
performance ×1