我在Maven项目中有一个父POM,具有以下结构:
parent
|
---------------
| |
child1 child2
Run Code Online (Sandbox Code Playgroud)
我想在本地REPO中安装"父"的POM 以允许child1进行我在dependencyManagement中所做的一些更改,但是我不能进行常规的"干净安装",因为"child2"已经损坏而且不会构建.
使用maven执行此操作的正确方法是什么(除了转到父pom并注释"child2"模块).
有什么聪明的方法可以通过ssh在远程主机上运行本地Bash功能吗?
例如:
#!/bin/bash
#Definition of the function
f () { ls -l; }
#I want to use the function locally
f
#Execution of the function on the remote machine.
ssh user@host f
#Reuse of the same function on another machine.
ssh user@host2 f
Run Code Online (Sandbox Code Playgroud)
是的,我知道它不起作用,但有没有办法实现这一目标?
我有一个使用一些Spring上下文的测试.在这些上下文中,声明了许多bean.我希望测试使用上下文的bean的实际实现,除了其中一个,我想要使用MOCK.
我尝试将Test作为一个配置组件(使用@Configuration注释),但XML似乎优先于@Bean注释,因此它不起作用,这样:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"context1.xml", "context2.xml", ...})
@Configuration
public class MyTest{
@Inject
private MyTargetBean target;
private AnotherBean myMock = mock(AnotherBean.class);
@Bean
public AnotherBean myMock() { return myMock; }
.....
Run Code Online (Sandbox Code Playgroud)
我知道我可以在XML中定义Mocks,但为此我需要为每个测试添加一个额外的XML文件,我希望在其中执行此操作.我想避免这种复杂性.
有没有办法在一个上下文中注入bean(比如模拟)而不是通过XML?
谢谢!
"安装"目标将工件复制到目标目录和本地存储库.
如何告诉Maven将其复制到给定目录(例如JBoss的deploy目录).
我知道这有说明:
Persistence.createEntityManagerFactory("persistence-unit-name");
Run Code Online (Sandbox Code Playgroud)
JPA持久性机制读取"persistence.xml"文件,查找名为"persistence-unit-name"的持久性单元,并基于它构造EntityManagerFactory.
我的问题是,如何强制JPA 采用与"persistence.xml"不同的文件?例如,"persistence-test.xml".
从另一个问题我了解到,在Java中可以为Enum的每个实例定义特定的方法:
public class AClass {
private enum MyEnum{
A { public String method1(){ return null; } },
B { public Object method2(String s){ return null; } },
C { public void method3(){ return null; } } ;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我很惊讶这甚至是可能的,这个"独有方法"特定于每个实例都有一个名称来查找文档吗?
此外,它是如何应该使用?因为下一个没有编译:
private void myMethod () {
MyEnum.A.method1();
}
Run Code Online (Sandbox Code Playgroud)
我该如何使用这些"独家"方法?
我想流式传输文件中包含的行,但在处理后将每个文件移动到另一个文件夹。
目前的流程是这样的:
解释:
Stream的File小号BufferedReader为他们每个人创建一个flatMap到Stream了BufferedReader代码(为简单起见省略了例外):
(1) Stream.generate(localFileProvider::getNextFile)
(2) .map(file -> new BufferedReader(new InputStreamReader(new FileInputStream(file))))
(3) .flatMap(BufferedReader::lines)
(4) .map(System.out::println)
.MOVE_EACH_FILE_FROM_INPUT_FOLDER_TO_SOME_OTHER_FOLDER;
Run Code Online (Sandbox Code Playgroud)
一旦完全读取每个文件并继续处理流中的其他文件,是否可以移动每个文件?
当一个EJB的(交易)方法调用另一个EJB的另一个(事务)方法,并抛出一个异常在第二位,但逮住中的第一个,似乎事务会自动回滚第二个返回时,即使第一个捕获它,这是真的吗?我怎么能避免呢?
场景如下:
@Stateless
class ClassA {
@EJB
ClassB objectB;
methodA() {
try {
objectB.methodB();
}
catch(Exception e) {
//Here the transaction started in this method is
//automatically rolled back. Is this avoidable?
}
}
}
@Stateless
class ClassB {
methodB() throws Exception { throw new Exception() }
}
Run Code Online (Sandbox Code Playgroud) 鉴于此通用功能:
<T> List<T> function() { return null; }
Run Code Online (Sandbox Code Playgroud)
为什么这会编译
List<String> l = function();
Run Code Online (Sandbox Code Playgroud)
虽然这不?
List<String> l = (List<String>) function();
Run Code Online (Sandbox Code Playgroud) 我必须通过网络发送一个复杂的对象,其引用几乎都是Null,但我想知道这个对象的大小,里面有这个空引用.
哪个是序列化对象中包含的空值的大小?
我正在评估是否更好地改变通信协议,发送一个更简单的对象,代价是不重用复杂的对象,并为我的每种通信制作几个简单的对象.