小编Chr*_*röm的帖子

查找多模块maven reactor项目的根目录

我想使用maven-dependency-plugin将我的多模块项目的所有子模块中的EAR文件复制到相对于整个项目的根目录的目录.

也就是说,我的布局看起来与此类似,名称已更改:

to-deploy/
my-project/
    ear-module-a/
    ear-module-b/
    more-modules-1/
        ear-module-c/
        ear-module-d/
    more-modules-2/
        ear-module-e/
        ear-module-f/
    ...
Run Code Online (Sandbox Code Playgroud)

我希望所有的EAR文件都从它们各自模块的目标目录中复制到my-project/../to-deploy最后

to-deploy/
    ear-module-a.ear
    ear-module-b.ear
    ear-module-c.ear
    ear-module-d.ear
    ear-module-e.ear
    ear-module-f.ear
my-project/
    ...
Run Code Online (Sandbox Code Playgroud)

我可以在每个耳模块中使用相对路径来完成它,如下所示:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>install</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${project.version}</version>
                                <type>ear</type>
                                <outputDirectory>../../to-deploy</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

但我宁愿不在<outputDirectory>元素中指定相对路径.我更喜欢类似的东西${reactor.root.directory}/../to-deploy,但我找不到这样的东西.

此外,我更喜欢有一些方法来继承这个maven-dependency-plugin配置,所以我不必为每个EAR模块指定它.

我还尝试从根pom继承自定义属性:

<properties>
    <myproject.root>${basedir}</myproject.root>
</properties>
Run Code Online (Sandbox Code Playgroud)

但是当我试图${myproject.root}在耳模块POM中使用时,${basedir}它将解析为耳模块的基础.

另外,我找到了http://labs.consol.de/lang/de/blog/maven/project-root-path-in-a-maven-multi-module-project/,其中建议每个开发人员,大概是连续的集成服务器应该在profiles.xml文件中配置根目录,但我不认为它是一个解决方案.

那么有一种简单的方法可以找到多模块项目的根目录吗?

directory maven-2 module root

64
推荐指数
7
解决办法
7万
查看次数

Moq你如何测试内部方法?

老板告诉我使用Moq,就是这样.我喜欢它,但它似乎不像MSTest或mbunit等...你无法测试内部方法

所以我被迫在我的界面中公开一些内部实现,以便我可以测试它.

我错过了什么吗?

你能用Moq测试内部方法吗?

非常感谢

.net c# moq

8
推荐指数
2
解决办法
6901
查看次数

System.Data.OleDb.OleDbConnectionInternal..ctor:未指定的错误

使用.mdb文件作为后端运行多线程(.NET Framework 3.5 SP1 WinForms)桌面应用程序几个小时(约6小时Win7 64位,~24小时WinXP)后,我收到以下运行时错误:

异常 - > 未指定的错误

StackTrace - >

System.Data.OleDb.OleDbConnectionFactory.CreateConnection上的System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接)
(DbConnectionOptions选项,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningObject)

在System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup)

在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)

在System.Data.OleDb.OleDbConnection.Open()

在NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEnumeration programType,Int32 startRowNum,Int32 rowsQty,Boolean setupInProgress,Boolean filterOutUninitializedRows)

看起来这是一个OleDbProvider错误.

你见过/经历过这样的事吗?

语境:

(1)我专门使用

使用(OleDbConnection cnn = new OleDbConnection("{{mymdbConnectionStringHere}}")){

cnn.Open();

...

}

(2)我在一些select SQL表达式中使用IN子句指向外部MDB表.

我想问题是由案例(2)引起的.虽然这仍然是一个假设来检查(我的应用程序的核心代码中需要一些代码修复,我现在考虑是值得修复的,或者我应该更好地切换到MS SQL后端.)

谢谢.

.net c# oledb oledbconnection

6
推荐指数
1
解决办法
6921
查看次数

如何从容器管理的事务提交中捕获异常?

我有一个@Stateless带有@WebService接口的EJB ,使用容器管理的事务,这意味着如果没有引发系统异常,在调用方法后,容器会自动提交事务.

如果我EntityManager.persist(...)为具有唯一约束的列尝试两个具有相同值的对象,则容器将PersistenceException在我的代码之外的提交中向客户端抛出一个.我如何捕获此异常,以便我可以重新抛出自己的应用程序异常?

我是否必须在我的方法中手动提交事务以捕获提交中的异常?(这是EntityManager.flush()正确的方法吗?)如果是这样,那么拥有容器管理交易的重点是什么?

java ejb transactions exception container-managed

5
推荐指数
0
解决办法
2062
查看次数

如何使用fromNullable包装返回可选<T>的方法?

我有一个我不拥有的方法,返回null但返回类型是Optional <Boolean>.当我调用x.IsPresent()时它会抛出(场景#2).我尝试将方法包装在fromNullable中但是我得到了类型不匹配(下面的屏幕截图).我如何修复,以便IsPresent()不抛出?

import com.google.common.base.Optional;

private Optional<Boolean> get_I_dontHaveControlOverThisMethod () {
    return null;  // Ooops!
}

// Compile error? ----------------------->  vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Optional<Boolean> x = Optional.fromNullable(get_I_dontHaveControlOverThisMethod());   
// (#1) Optional<Boolean> x = Optional.fromNullable(null);  // <- this work fine
// (#2) Optional<Boolean> x = get_I_dontHaveControlOverThisMethod();
if (x.isPresent()) {   // <- this blows up!  NPE when (#2) runs
    // non-null good value;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java optional guava

2
推荐指数
1
解决办法
711
查看次数

如何从文件URL获取路径?

我有这种格式的字符串:

file://c:/Users/....
file://E:/Windows/....
file:///f:/temp/....
file:///H:/something/....
Run Code Online (Sandbox Code Playgroud)

我怎么才能得到c:/Users/...H:/something/...

java regex indexing substring

-1
推荐指数
1
解决办法
227
查看次数