我的maven项目结构如下
Project A
pom.xml
- ProjectB
pom.xml
- ProjectC
pom.xml
- ProjectD
pom.xml
- ProjectY
pom.xml
Run Code Online (Sandbox Code Playgroud)
通过使用我可以行家反应器选项
clean install -pl projectB
要么 clean install -pl projectY
但是,当试图建立子模块使用第二个层次clean install -pl projectC
,投行家
org.apache.maven.MavenExecutionException: Could not find the selected project in the reactor: projectC
Run Code Online (Sandbox Code Playgroud)
如何使用maven reactor选项构建第二级+子模块
在我正在研究的项目中(不是我的项目,只是在研究它),有很多这样的结构:
project.priv.logic.MyServiceImpl.java
project.priv.service.MyServiceFactoryImpl.java
project.pub.logic.MyServiceIF.java
project.pub.service.MyServiceFactoryIF.java
project.pub.service.MyServiceFactorySupplier.java
Run Code Online (Sandbox Code Playgroud)
服务的调用方式如下:
MyServiceFactorySupplier.getMyServiceFactory().getMyService()
Run Code Online (Sandbox Code Playgroud)
据我所知,工厂用于隐藏更改MyServiceImpl
位置或内容的实现MyServiceImpl
.但为什么我的工厂(供应商)还有另一家工厂?我认为我的Factory和FactorySupplier改变的概率大致相等.另外我还没有找到一个案例,其中创建的工厂是动态创建的(我认为这将是抽象工厂模式中的情况)但只返回MyServiceFactoryImpl.getInstance()
.通常的做法是实施FactorySupplier吗?有什么好处?
我正在尝试将一些opencv代码从C++转换为Java,但我坚持使用此代码:
Mat matXyz; // some Mat
Mat result; // some other Mat
// ... set above mats to some values ...
result = Mat::ones(matXyz.size(), CV_32F) - result;
Run Code Online (Sandbox Code Playgroud)
首先,我真的不明白最后一行甚至是什么.其次,我不知道如何将这一行转移到Java(OpenCV 2.4.6),因为没有像C++那样的重载运算符,我在Java类中找不到任何类似的方法(参见OpenCV Javadoc).
将其转换为Java的最佳方法是什么?