我需要按顺序运行测试.我没有在任何地方找到这个充分记录.我更喜欢从命令行执行此操作.就像是
mvn -Dtest=test1,test2,test3,test5 test
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我正在使用shade插件,除了能够为manifest via设置Class-Path之外,一切正常
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.generic.App</mainClass>
<classPath>. ./config</classPath>
</transformer>
Run Code Online (Sandbox Code Playgroud)
我明白了
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default) on project SpringThing: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.1:shade for parameter transformer: Cannot find setter, adder nor field in org.apache.maven.plugins.shade.resource.ManifestResourceTransformer for 'classPath' -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
看文件
应该能够解析任何有效的清单资源吗?我试过clss-path Class-Path ClassPath什么都行不通......
我需要classpath来设置外部app属性文件的位置.
由于一个众所周知的问题,我使用的是阴影插件而不是汇编:
http://blog.idm.fr/2009/09/maven-assembly-plugin-and-spring-namespace-handlers.html
顺便说一下,我可以很容易地在装配中做到这一点:(并且它有效)
<manifestEntries>
<Class-Path>. ./config</Class-Path>
</manifestEntries>
Run Code Online (Sandbox Code Playgroud)
我不能通过maven使用oneJar插件,因为你也无法设置清单条目.(我不认为?)
有任何想法吗?
manifest classpath maven maven-assembly-plugin maven-shade-plugin
我试图在一个Linux机器上的不同用户下运行多个jvms(包括tomcat).我没有看到太多问题,但在catalina.out我一直看到这个:
May 30, 2014 1:16:16 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7626 ms
May 30, 2014 1:16:37 PM java.util.prefs.FileSystemPreferences$2 run
WARNING: Could not create system preferences directory. System preferences are unusable.
May 30, 2014 1:16:55 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code -158097957.
May 30, 2014 1:16:55 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
Run Code Online (Sandbox Code Playgroud)
我做了一些挖掘/阅读并推断出以下内容:
具有root访问权限的管理员必须创建系统首选项目录 /etc/.java/.systemPrefs with drwxr-xr-x access.
Java正在寻找/etc/.java/.systemPrefs/.system.lock
和/etc/.java/.systemPrefs/.systemRootModFile
手动创建上述文件(使用"touch"创建空文件)及其包含的目录应该修复.对文件的544
权利应该是,对其目录的权限应该是755 …
我有一个bash函数,我使用xargs -P并行调用
echo ${list} | xargs -n 1 -P 24 -I@ bash -l -c 'myAwesomeShellFunction @'
Run Code Online (Sandbox Code Playgroud)
一切正常,但输出因为显而易见的原因搞砸了(没有缓冲)
试图找出一种有效缓冲输出的方法.我以为我可以使用awk,但我不够好写这样的脚本,我在谷歌上找不到任何有价值的东西?有人可以帮我在sed或awk中写这个"输出缓冲区"吗?没什么好看的,只是累积输出并在过程终止后吐出.我不关心shell函数执行的顺序,只需要它们的输出缓冲...类似于:
echo ${list} | xargs -n 1 -P 24 -I@ bash -l -c 'myAwesomeShellFunction @ | sed -u ""'
Run Code Online (Sandbox Code Playgroud)
我按照https://unix.stackexchange.com/questions/25372/turn-off-buffering-in-pipe尝试使用stdbuf, 但是没有用,我在o和e上指定了缓冲但输出仍然没有缓冲:
echo ${list} | xargs -n 1 -P 24 -I@ stdbuf -i0 -oL -eL bash -l -c 'myAwesomeShellFunction @'
Run Code Online (Sandbox Code Playgroud)
这是我的第一次尝试,这只捕获第一行输出:
$ bash -c "echo stuff;sleep 3; echo more stuff" | awk '{while (( getline line) > 0 )print "got ",$line;}'
$ …
Run Code Online (Sandbox Code Playgroud) 我为一个非常严格控制的组织工作,绝对不允许访问外部存储库.
我想为我们的应用程序使用Spring和Hibernate框架,并使用maven来解决依赖关系并构建项目.
我在本地服务器上建立了一个nexus"第三方"存储库,现在实际上是添加库的一部分.Hibernate 3.6.7.Final附带以下罐子:
./hibernate-testing.jar
./hibernate3.jar
./lib/required/commons-collections-3.1.jar
./lib/required/dom4j-1.6.1.jar
./lib/required/jta-1.1.jar
./lib/required/slf4j-api-1.6.1.jar
./lib/required/antlr-2.7.6.jar
./lib/required/javassist-3.12.0.GA.jar
./lib/jpa/hibernate-jpa-2.0-api-1.0.1.Final.jar
./lib/optional/c3p0/c3p0-0.9.1.jar
./lib/optional/swarmcache/swarmcache-1.0RC2.jar
./lib/optional/proxool/proxool-0.8.3.jar
./lib/optional/jbosscache/jbosscache-core-3.2.1.GA.jar
./lib/optional/oscache/oscache-2.1.jar
./lib/optional/infinispan/infinispan-core-4.2.1.CR1.jar
./lib/bytecode/javassist/javassist-3.12.0.GA.jar
./lib/bytecode/cglib/cglib-2.2.jar
Run Code Online (Sandbox Code Playgroud)
Spring 3.0.6.RELEASE附带以下内容:
org.springframework.aop-3.0.6.RELEASE.jar
org.springframework.jdbc-3.0.6.RELEASE.jar
org.springframework.asm-3.0.6.RELEASE.jar
org.springframework.jms-3.0.6.RELEASE.jar
org.springframework.aspects-3.0.6.RELEASE.jar
org.springframework.orm-3.0.6.RELEASE.jar
org.springframework.beans-3.0.6.RELEASE.jar
org.springframework.oxm-3.0.6.RELEASE.jar
org.springframework.context-3.0.6.RELEASE.jar
org.springframework.test-3.0.6.RELEASE.jar
org.springframework.context.support-3.0.6.RELEASE.jar
org.springframework.transaction-3.0.6.RELEASE.jar
org.springframework.core-3.0.6.RELEASE.jar
org.springframework.web-3.0.6.RELEASE.jar
org.springframework.expression-3.0.6.RELEASE.jar
org.springframework.web.portlet-3.0.6.RELEASE.jar
org.springframework.instrument-3.0.6.RELEASE.jar
org.springframework.web.servlet-3.0.6.RELEASE.jar
org.springframework.instrument.tomcat-3.0.6.RELEASE.jar
org.springframework.web.struts-3.0.6.RELEASE.jar
Run Code Online (Sandbox Code Playgroud)
据我所知,部署依赖项的两种首选方法是
1)设置一个pom; 使用命令"mvn deploy"
2)使用命令行,对于个别罐子:
mvn deploy:deploy-file -Durl=file://C:\m2-repo \
-DrepositoryId=some.id \
-Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=test] \
[-DgeneratePom=true] \
[-DgeneratePom.description="My Project Description"] \
[-DrepositoryLayout=legacy] \
[-DuniqueVersion=false]
Run Code Online (Sandbox Code Playgroud)
1)我知道我可以为整个hibernate项目创建一个pom,或者创建多个pom,我猜每个外部库都有1个pom.例如,cglib-2.2.jar可以是它自己的pom,因为我知道spring有一个类似的依赖,所以为了没有(2)x cglib(s),我有1个cglib然后包含它分别是我的org.spring和org.hibernate poms中的依赖项. …
我的Spring + Hibernate配置文件很小而且非常紧凑.我使用自动扫描来查找我的模型实体/ daos.
我不想在我的层次结构中为每个实体编写DAO + DAOImpl.
有些人可能有资格拥有自己的,如果他们与其他实体有复杂的关系,并且需要的不仅仅是基本的CRUD功能.但其余的......
有没有办法规避事实上的标准?
说,像通用DAO,ex:
http://www.ibm.com/developerworks/java/library/j-genericdao/index.html
然后我可以做类似的事情
GenericDao dao = appContext.getBean("genericDao");
dao.save(car);
dao.save(lease);
Run Code Online (Sandbox Code Playgroud)
这可能带注释吗?我不想在xml中配置任何东西.如果我不能在上面做,是否仍然可以有一个类似的GenericDaoImpl.java:
@Repository("carDao")
@Repository("leaseDao")
class GenericDaoImpl extends CustomHibernateDaoSupport implements GenericDao {
...
}
Run Code Online (Sandbox Code Playgroud)
然后
GenericDao dao = appContext.getBean("carDao");
dao.save(car);
dao = appContext.getBean("leaseDao"); //carDao is garbage coll.
dao.save(lease);
Run Code Online (Sandbox Code Playgroud)
这有用吗?
在 64/32 位本机库的世界中,有时您需要指定特定的 jre 来运行代码。我本地安装了 64/32 位 jres。默认为 64 位,但我需要使用 32 位 jvm 运行一些测试...
我如何告诉 gradle 本地系统上 32 位 java.exe 客户端的路径?它不能是默认为jdk的java_home,我只需要在gradle.build中指定用于测试执行阶段的jre客户端。
就像是
tasks.withType(Test) {
systemProperty "java.library.path", "C:\\here\\nativestuff\\lib"
systemProperty "java.client", "C:\\Program\ Files\ \(x86\)\\Java\\jre7\\bin\\java.exe"}
Run Code Online (Sandbox Code Playgroud)
尝试了我能想到的一切,不知道如何让它工作
如果我想使用jar实用程序创建一个没有META-INF废话的jar文件,我可以传递-M开关,它将:
-M do not create a manifest file for the entries
Run Code Online (Sandbox Code Playgroud)
请注意,这是jar实用程序的一项功能.如果我使用它,我将得到一个没有META-INF文件夹并包含MANIFEST的jar,基本上只是jar类型的存档,包含我放入的任何文件/目录.
如何使用maven-jar-plugin执行此操作?我需要这样做以符合另一个过程.(他们期望一个具有非常特定的文件/文件夹布局的jar,我不能在jar文件的根目录下有一个META-INF文件夹.)
我有配置来正确创建jar文件,我不想搞乱另一个插件......
我有一个Oracle表(版本8i),我需要迁移到sql server,其中一列是NUMBER数据类型.在其中,它具有如下值:
--1331013400000000000000000000
--1331017903617177360300000000
--1331012863048235233700000000
Run Code Online (Sandbox Code Playgroud)
等等
0.9574875526618150
2.51572327044025
Run Code Online (Sandbox Code Playgroud)
- 看起来像存储在数字列中的实际值.我不明白破折号的用途或含义是什么,但是,当我尝试通过ssma迁移数据时,我得到"无法将字符串值放入浮点数",所以很明显sql server在这种情况下会遇到困难,因为我做.
我敢肯定我可以找到一种方法来处理这些奇怪的数据,我只是想知道这意味着什么,它是什么,我用谷歌搜索,但令人惊讶的是空手而归.有人有任何线索吗?
转储1016:
0.2722718362012630 Typ=2 Len=9: c0,1c,17,48,54,3f,2,1b,1f
--1331013400000000000000000000 Typ=2 Len=4: 32,ea,0,43
0.50761421319797 Typ=2 Len=8: c0,33,4d,f,16,20,62,62
1 Typ=2 Len=2: c1,2
0.9574875526618150 Typ=2 Len=9: c0,60,4b,58,38,1b,3e,52,33
1.11894371713103 Typ=2 Len=9: c1,2,c,5a,2c,48,48,20,4
2.51572327044025 Typ=2 Len=9: c1,3,34,3a,18,1c,5,29,1a
0.0537258905066351 Typ=2 Len=9: c0,6,26,1a,5a,6,7,40,34
0.1851303317535540 Typ=2 Len=9: c0,13,34,1f,22,12,36,38,29
0.0000000000000000000000000000306386 Typ=2 Len=4: b2,1f,40,57
1.6164 Typ=2 Len=4: c1,2,3e,41
0.1289839930864580 Typ=2 Len=9: c0,d,5a,54,64,1f,57,2e,51
0.004721435316336170 Typ=2 Len=9: bf,30,16,2c,36,11,22,3e,47
--1331017903617177360300000000 Typ=2 Len=10: 32,ea,0,16,62,28,1e,18,41,62
--1331012863048235233700000000 Typ=2 Len=10: 32,ea,0,49,26,61,13,42,4e,40
--1331010715609612880500000000 Typ=2 Len=10: 32,ea,0,5e,56,29,5,59,d,60
0.0778391842453491 Typ=2 Len=9: …
Run Code Online (Sandbox Code Playgroud) 在bash中运行以下命令:
stuff=`rpm -ql <some package> | grep dasdasdfd`
Run Code Online (Sandbox Code Playgroud)
(包中不存在的文件,退出代码= 1,标准输出为空)
if [ -f $stuff ]; then echo "whaaat"; fi
Run Code Online (Sandbox Code Playgroud)
上面的命令检查文件是否存在...但是:
file $stuff
Run Code Online (Sandbox Code Playgroud)
只需打印文件的使用信息......和
stat $stuff
Run Code Online (Sandbox Code Playgroud)
缺少操作数......
有人可以解释一下原因吗?这是一个错误吗?难道我做错了什么?我只是想确保包中的文件出现在fs上
我在 jms 引擎盖下使用 tibco 驱动程序来创建与 ems 代理的客户端连接...我想过将驱动程序升级到最新最好的,然后才开始想知道 javax.jms 包是否向后兼容以及版本差异是什么包含?示例:旧的 tibco 驱动程序打包在(我认为是因为它没有在任何地方明确指定)javax.jms 1.1(建于 2002 年 4 月)但是新驱动程序与 jms 2.0 捆绑在一起
我正在寻找一种在选择中引用单词的快速方法,比如我是从由制表符或空格字符分隔的文本块构建多个插入语句.
可以说我有
STUFF OPEN F 0 0 00:00:00-23:59:59
STUFF OPEN M 0 0 00:00:00-23:59:58
STUFF OPEN R 0 0 00:00:00-23:59:59
STUFF OPEN S 0 0 00:00:00-23:59:59
STUFF OPEN T 0 0 00:00:00-23:59:59
STUFF OPEN U 0 0 00:00:00-23:59:59
STUFF OPEN W 0 0 00:00:00-23:59:59
Run Code Online (Sandbox Code Playgroud)
我想得到
"STUFF" "OPEN" "F" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "M" "0" "0" "00:00:00-23:59:58"
"STUFF" "OPEN" "R" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "S" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "T" "0" "0" "00:00:00-23:59:59"
"STUFF" "OPEN" "U" "0" "0" …
Run Code Online (Sandbox Code Playgroud) java ×6
maven ×4
bash ×2
testing ×2
awk ×1
classpath ×1
cygwin ×1
dao ×1
deployment ×1
generics ×1
gradle ×1
hibernate ×1
hyphen ×1
jar ×1
jms ×1
linux ×1
manifest ×1
nexus ×1
notepad++ ×1
oracle ×1
permissions ×1
repository ×1
root ×1
sed ×1
shell ×1
spring ×1
sql ×1
text ×1
tibco ×1
tomcat ×1
vim ×1