我有一个maven项目,它通过我希望作为控制台应用程序运行的maven程序集插件生成一个jar .但是,未在MANIFEST.MF中设置MainClass属性.这是我的插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>net.justaprogrammer.poi.cleanser.Cleanser</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但是,这不会被添加到生成的jar中的MANIFEST.MF中mvn package
.生成的清单如下:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: zippy
Build-Jdk: 1.6.0_25
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
多模块maven版本,每个模块带有标签
假设基于Maven的Java项目的以下项目结构:
xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3
Run Code Online (Sandbox Code Playgroud)
Subversion中的项目结构如下:
xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3
Run Code Online (Sandbox Code Playgroud)
我的目标是在执行发布时为每个模块创建标记:
xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0
Run Code Online (Sandbox Code Playgroud)
过去,每个模块都是单独构建和发布的.随着项目规模的扩大(30个模块),构建版本的时间增加了.我想将项目更改为多模块设置以执行反应堆构建和发布.构建似乎不是问题,但每个模块创建标签是.
maven-release-plugin似乎坚持只为整个项目/发布制作一个标签.我正在寻找一种创建多个标签的方法,例如每个模块的标签.
<module>../xx-moduleB</module>
<scm>
元素pom.xml
,但在执行反应器释放时不会使用它们.mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform
<scm>
用无效的URL 覆盖标记,例如xx-parent标记下的嵌套"trunk"-tags如何使用Maven发布流程,多模块布局设置此项目,并且每个模块仍然可以获得单独的标签?
http://jira.codehaus.org/browse/MRELEASE-261 (已关闭)和MRELEASE-561(开放)
Java SecurityManager是否有任何其他实现(例如在OSS项目中)可用,它具有比JDK更多的功能?
我正在寻找像这样的功能
security.policy
文件以外的其他数据源读取file.encoding
或line.separator
禁止对user.home的读访问"我很确定应用程序服务器(至少是商业服务器)有自己的SecurityManager
实现或至少有自己的策略配置.我想知道是否有任何类似要求的免费项目.
我们有X方法,我们喜欢调用一个相对于用户设置的方法,以下哪个运行得更快?
情况1:
int userSetting = 1;
Method method = Class.getDeclaredMethod("Method" + userSetting);
method.invoke();
Run Code Online (Sandbox Code Playgroud)
案例2:
int userSetting = 1;
switch(userSettings) {
case 0:
Method0();
break;
case 1:
Method1();
break;
...
...
}
Run Code Online (Sandbox Code Playgroud)
案例3:
int userSetting = 1;
if(userSetting == 0){
Method0();
} else if(userSetting == 1){
Method1();
} else....
Run Code Online (Sandbox Code Playgroud)
也:
谢谢