我必须创建一个新的maven项目,将旧项目迁移到maven.所以我得到了这样的结构
parent
|
\-- project 1
|
\-- project 2
Run Code Online (Sandbox Code Playgroud)
project 1并且project 2拥有大量的依赖关系,其中很多都是相互共同的.我想知道,我在互联网上找不到的是,如果有一个工具,我可以找到这些常见的依赖关系,所以我可以将它们迁移到父pom?
例如,如果我向这个工具提供两个带有元素的poms
... PROJECT 1 POM
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>A</artifactId>
<version>1.0.0</artifactId>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...
.. PROJECT 2 POM
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>C</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...
Run Code Online (Sandbox Code Playgroud)
我想要输出
.. OUTPUT FROM COMPARING BOTH
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...
Run Code Online (Sandbox Code Playgroud) 我的Hudson配置中有两个工作.我们称他们为A和B.
作业A专门用于生成文件夹application_home.此文件夹是一个随时可用的安装应用程序主文件夹.
工作B是"包装 - 一起安装 - 工作".它需要复制作业A生成的application_home来生成安装程序.我的问题是经过一些调查后,我无法以一种简单的方式做到这一点.
我可以使用shell脚本,但后来我需要知道作业A路径加上其工作区是获取application _ home文件夹.
有更简单的方法吗?
编辑
我知道Copy Artifact Plugin.问题是它只复制工件.我需要按原样复制文件夹application _ home,因为它已经在安装程序中使用的结构中.如果有办法使用这个插件只复制文件夹,我还没有找到它.
编辑2.答案:
好的,你可以使用Copy Artifact Plugin来完成它.你需要
它完成了:)
TL; 博士; 我需要知道是否有一个具有持久阻塞队列的库。
我有一个经典的生产者/消费者计划。他们共享一个LinkedBlockingQueue来共享数据,我BlockingQueue#take在消费者中使用方法,因为我需要他们永远活着等待新元素。
问题是我有很多数据,我不能丢失它们。即使在消费者停止之后,生产者也可以坚持生成一些数据。我正在考虑H2在达到某个阈值后实现我的 BlockingQueue ta 用于存储/获取数据。我的主要问题是我需要性能,我需要按照元素的创建顺序使用它们。
是否有持久阻塞队列的实现可以用于这样的事情?如果没有,对我实现这样的目标有什么建议吗?
为什么Objects.equal每个原始类型都没有接收作为参数?
我知道你可以通过#valueOf自动装箱或让每个原语自动装箱,但是你不会因此而失去性能吗?这是我一直想知道的事情.
想象一下,我有类似的东西
public class Foo {
private final int integerValue;
private final boolean booleanValue;
private final Bar bar;
public Foo(int integerValue, boolean booleanValue, Bar bar) {
this.integerValue = integerValue;
this.booleanValue = booleanValue;
this.bar = bar;
}
@SuppressWarnings("boxing")
@Override
public boolean equals(Object object) {
if (object instanceof Foo) {
Foo that = (Foo) object;
return Objects.equal(this.integerValue, that.integerValue)
&& Objects.equal(this.booleanValue, that.booleanValue)
&& Objects.equal(this.bar, that.bar);
}
return false;
}
// hashCode implementation using guava also.
}
Run Code Online (Sandbox Code Playgroud)
这是实施的最佳方式equals …
我使用的是Spring 3.0.5,Hibernate 3.6.7和Vaadin.
我有一个像这样的简单实体
@Entity
public class Foo {
@OneToMany(fetch = FetchType.LAZY)
private Collection<Bar> bars;
...
}
Run Code Online (Sandbox Code Playgroud)
我有一个对话窗口,我从上下文中得到它应该显示'foo'中的'bars'.
@Component
@Scope("prototype")
public class FooBarDialogImp extends Window implements FooBarDialog {
@Transactional(readOnly = true)
public void populate(Foo foo) {
...
for (Bar bar : foo.getBars()) {
// populate the dialog with bar information
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
当用户要求显示foo栏时,我会做这样的事情
public class FooController {
...
public void showFooBars(Foo foo) {
FooBarDialog dialog = context.getBean(FooBarDialog.class);
dialog.populate(foo);
showDialog(dialog);
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是我从hibernate获得了"无会话"异常.我更改了代码以注入会话工厂并查看是否存在绑定会话.我不知道我做错了什么.有人有想法吗?
java ×3
concurrency ×1
dependencies ×1
guava ×1
hibernate ×1
hudson ×1
jenkins ×1
maven ×1
performance ×1
spring ×1
transactions ×1