请教一个有关如何使用Maven的Assembly打分应用程序发包问题的问题

其他回答(1)
你的pom文件缺少了build标签和profiles标签
看看我的项目里的pom文件
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"& &modelVersion&4.0.0&/modelVersion& &groupId&TestDao&/groupId& &artifactId&TestDao&/artifactId& &version&0.0.1-SNAPSHOT&/version& &packaging&war&/packaging&
&properties& &project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding& &spring.framework.version&4.0.6.RELEASE&/spring.framework.version& &spring.security.version&3.2.3.RELEASE&/spring.security.version& &jackson.version&2.2.3&/jackson.version& &/properties&
&build& &plugins& &plugin& &groupId&org.apache.maven.plugins&/groupId& &artifactId&maven-compiler-plugin&/artifactId& &version&2.3.2&/version& &configuration& &source&1.6&/source& &target&1.6&/target& &/configuration& &/plugin& &plugin& &groupId&org.zeroturnaround&/groupId& &artifactId&jrebel-maven-plugin&/artifactId& &executions& &execution& &id&generate-rebel-xml&/id& &phase&process-resources&/phase& &goals& &goal&generate&/goal& &/goals& &/execution& &/executions& &/plugin& &plugin& &groupId&org.apache.tomcat.maven&/groupId& &artifactId&tomcat7-maven-plugin&/artifactId& &configuration& &port&8080&/port& &path&/lcm-ctlcenter&/path& &systemProperties& &com.sun.management.jmxremote.port&4000&/com.sun.management.jmxremote.port& &/systemProperties& &/configuration& &/plugin& &/plugins& &pluginManagement& &plugins& &!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. --& &plugin& &groupId&org.eclipse.m2e&/groupId& &artifactId&lifecycle-mapping&/artifactId& &version&1.0.0&/version& &configuration& &lifecycleMappingMetadata& &pluginExecutions& &pluginExecution& &pluginExecutionFilter& &groupId& org.zeroturnaround &/groupId& &artifactId& jrebel-maven-plugin &/artifactId& &versionRange& [1.0.7,) &/versionRange& &goals& &goal&generate&/goal& &/goals& &/pluginExecutionFilter& &action& &ignore&&/ignore& &/action& &/pluginExecution& &/pluginExecutions& &/lifecycleMappingMetadata& &/configuration& &/plugin& &/plugins& &/pluginManagement& &/build&
&profiles& &profile& &id&buildExecutableWar&/id& &build& &plugins& &plugin& &groupId&org.apache.tomcat.maven&/groupId& &artifactId&tomcat7-maven-plugin&/artifactId& &version&2.1&/version& &configuration& &path&/&/path& &/configuration& &executions& &execution& &id&tomcat-run&/id& &goals& &goal&exec-war-only&/goal& &/goals& &phase&package&/phase& &configuration& &path&/lcm-ctlcenter&/path& &/configuration& &/execution& &/executions& &/plugin& &/plugins& &/build& &/profile& &/profiles&
&/project&
dependencies引入的包我就省略了
收获园豆:30
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。请教一个有关如何使用Maven的Assembly打分发包的问题_百度知道
请教一个有关如何使用Maven的Assembly打分发包的问题
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
海绵抱抱的海角
来自电脑网络类芝麻团
海绵抱抱的海角
采纳数:510
获赞数:137
参与团队:
NetBeans,集成了大部分的插件;虽然比Eclipse占用的资源多很多,但是,你不必为开发不同类型的软件而需要去找不同的插件,可以把更多的精力放在编程上。等上手,熟悉了,再用Eclipse,毕竟,可以根据你自己的需要,配置高效率的系统环境。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用java写了一个小工具,使用maven java 工程。写完后,想打包成一个可执行的jar包。
使用maven的插件maven-assembly-plugin
pom.xml里添加
&maven-assembly-plugin&
&org.kuan.wang.App&
&jar-with-dependencies&
执行命令:
mvn clean compile assembly:single
在target文件夹里生成MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
这个jar包便是可执行的jar了,用命令java -jar path\jarfile便可以执行。
注意:compile必须再assembly:single之前,要不然你工程的代码(class文件)就不会被打包进去。
assembly:single是maven的goal.
通常情况下,这个goal要绑定到maven build 的phase里,这样它就可以自动执行。mvn package是用来打包jar包的。只是jar包不可执行。
在以上的pom文件里加&executions&
&maven-assembly-plugin&
&org.kuan.wang.App&
&jar-with-dependencies&
&make-assembly&
这样的话直接运行以下命令就行了。
mvn clean package
另外有几点要注意。
1. 必须要有
&org.kuan.wang.App&
否则会报错
no main manifest attribute, in target\MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
&mainClass&是你自己工程的入口。
2. 使用mvn clean compile assembly:single,只生成一个jar包,名字里有jar-with-dependencies,可执行。
使用mvn package生成两个jar包,名字里有jar-with-dependencies的jar是可执行的。
3. 如果使用&goal&assembly&/goal&
用命令mvn assembly:assembly会生成两个jar包。跟使用了mvn package一样
无需再像命令assembly:single一样前面必须加compile.
Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解
Assembly插件会生成 “assemblies”, 此特性等同于的Maven 1 distribution plug-in.。该插件不仅支持创建二进制归档文件,也支持创建源码归档文件。这些asse...
【Maven】Maven系列(二)——利用assembly插件打包
在maven中有几种方法打包项目,在之前的一篇博客中【Java】打包Jar包并用脚本执行,已经介绍了怎么在没有maven插件的情况下,怎么打包项目,并执行的。
而本篇则是在上一篇文章【Maven】M...
Maven生成可以直接运行的jar包的多种方式
Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现&no main manifest attribute, in xxx....
maven项目使用maven-assembly-plugin打包成可运行的jar
1.在项目的pom.xml文件下添加一下的配置文件。
项目名称,可有可无
maven-compiler-plugin...
Maven 教程(20)— 使用maven-assembly-plugin插件来定制化打包
简单的说,maven-assembly-plugin 就是用来帮助打包用的,比如说打出一个什么类型的包,包里包括哪些内容等等。
目前至少支持以下打包类型:
maven打包的时候 ,将依赖包 打进同一个jar包命令 mvn assembly:assembly -DskipTests
mvn assembly:assembly -DskipTests
src/main/resources
Java真的好用么—Missing required Permissions manifest attribute in main jar的解决办法
上午测试用友NC的时候,就有出现需要jre的提示,一直就是安装不上打不开的情况,后来设置了java的安全级别到“中”得以解决。
下去有有同事用农业部的转基因证书申请打印,结果那个“打印”两个字都不显...
没有更多推荐了,[ERROR]&BUILD&ERROR
[INFO]&------------------------------------------------------------------------
[INFO]&Failed&to&create&assembly:&Error&adding&file&'net.runafter.nptt:NpttCore:jar:0.1.0'&to&archive:
G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes&isn't&a&file.
如果在windows命令行下直接执行mvn package,绕过eclipse和m2eclipse,就可以成功。
window -& preferences -& maven, 勾选"Debug output" 打开maven的debug开关,细看错误日志:
[DEBUG]&Adding&artifact:&net.runafter.nptt:NpttCore:jar:0.1.0&with&file:
G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes&to&assembly&location:&lib/NpttCore-0.1.0.jar.
[DEBUG]&Adding&file:&G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes&to&archive&location:&NpttMain-
0.1.0/lib/NpttCore-0.1.0.jar
[INFO]&------------------------------------------------------------------------
[ERROR]&BUILD&ERROR
[INFO]&------------------------------------------------------------------------
[INFO]&Failed&to&create&assembly:&Error&adding&file&'net.runafter.nptt:NpttCore:jar:0.1.0'&to&archive:
G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes&isn't&a&file.
[INFO]&------------------------------------------------------------------------
[DEBUG]&Trace
org.apache.maven.lifecycle.LifecycleExecutionException:&Failed&to&create&assembly:&Error&adding&file
'net.runafter.nptt:NpttCore:jar:0.1.0'&to&archive:&G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes
isn't&a&file.
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:584)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
(DefaultLifecycleExecutor.java:500)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:331)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
(DefaultLifecycleExecutor.java:292)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
&&&&at&org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
&&&&at&org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
&&&&at&org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
&&&&at&sun.reflect.NativeMethodAccessorImpl.invoke0(Native&Method)
&&&&at&sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&&&&at&sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&&&&at&java.lang.reflect.Method.invoke(Method.java:597)
&&&&at&org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
&&&&at&org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
&&&&at&org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
&&&&at&org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused&by:&org.apache.maven.plugin.MojoExecutionException:&Failed&to&create&assembly:&Error&adding&file
'net.runafter.nptt:NpttCore:jar:0.1.0'&to&archive:&G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes
isn't&a&file.
&&&&at&org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:368)
&&&&at&org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:453)
&&&&at&org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
&&&&&16&more
Caused&by:&org.apache.maven.plugin.assembly.archive.ArchiveCreationException:&Error&adding&file
'net.runafter.nptt:NpttCore:jar:0.1.0'&to&archive:&G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes
isn't&a&file.
&&&&at&org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:193)
&&&&at&org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.addDependencySet
(AddDependencySetsTask.java:177)
&&&&at&org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.execute
(AddDependencySetsTask.java:116)
&&&&at&org.apache.maven.plugin.assembly.archive.phase.DependencySetAssemblyPhase.execute
(DependencySetAssemblyPhase.java:74)
&&&&at&org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive
(DefaultAssemblyArchiver.java:129)
&&&&at&org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:322)
&&&&&18&more
Caused&by:&org.codehaus.plexus.archiver.ArchiverException:
G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes&isn't&a&file.
&&&&at&org.codehaus.plexus.archiver.AbstractArchiver.addFile(AbstractArchiver.java:308)
&&&&at&org.codehaus.plexus.archiver.AbstractArchiver.addFile(AbstractArchiver.java:262)
&&&&at&org.apache.maven.plugin.assembly.archive.archiver.AssemblyProxyArchiver.addFile
(AssemblyProxyArchiver.java:474)
&&&&at&org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:188)
&&&&&23&more
&&& 可以看到,maven Assembly plugin试图以操作文件的方式操作目录NpttCore\target\classes,因此失败造成整个package命令执行失败。
&&& 查了好一段时间,没有结果,因为之前一直都是ok的,而且在命令行下可以正常,有些糊涂。最后没有办法了,只好google,终于有所收获,同样的问题之前有人遇到过:
&&& http://jira.codehaus.org/browse/MNGECLIPSE-1201
&&& 而且给maven的官方提过comments:
&&& http://jira.codehaus.org/browse/MASSEMBLY-396
&&& 似乎maven的维护人员给出了答案:
&&& This is related to workspace resolution feature that is enabled automatically if project has workspace resolution enabled. You can disable it in the Maven launch configuration.
&&& The workspace resolution is not a new feature, you can read about it at [1]. In 0.9.7 defaults for the Maven launch configuration been changed to pickup setting for workspace dependency resolution from the project settings, so defaults for compile-time dependency resolution match Maven launch dependency resolution. Unfortunately not all Maven plugins can properly work when workspace dependency resolution is enabled, so I would recommend to submit bug reports to the Maven projects for such plugins.
&&& The m2eclipse allows to disable workspace resolution for compile time and for Maven launch config separately, so you have some flexibility.
&&& 简单的说就是和workspace resolution这个特性有关,In 0.9.7默认的maven的启动配置已经被修改为“pickup setting for workspace dependency resolution from the project settings”,而不是所有的maven插件都可以在workspace dependency resolution开启的情况下工作。比如这次maven Assembly plugin就犯错了,可以通过在maven的启动配置中关闭这个特性来解决这个问题。
&&& 解决的方法很简单,右键单击要执行package的project,"properties for ***" -& maven,将"resolve dependencies from workspace projects"前的勾取消。
&&& 重新执行maven package成功,问题解决。}

我要回帖

更多关于 发包到户的土地清查核实问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信