在您的所有帮助下,我得以用Java完成我的第一个项目。现在,我想创建一个jar并运行jar中的应用程序(Java项目-
这是一个普通的控制台应用程序,该应用程序依赖于另一个项目(控制台应用程序))。
我通过右键单击创建了一个带有Eclipse的罐子-导出-创建了一个罐子。当我尝试从cmd运行此jar时,出现错误(以下是我得到的错误)
no main manifest attribute, in AAA.jar
我用Google搜索了错误-他们中的大多数人都创建了清单文件。我在项目中创建了一个清单文件,如下所示,该文件等于src级别
Manifest-Version: 1.0
Main-Class: com.Pacakename.mainclass
Class-Path: log4j-1.2.16.jar db2jcc.jar db2jcc_license_cu.jar
然后J尝试再次运行jar,但是这次它说没有main方法,而我在类中有main方法
请有人请说明创建清单的一个明确步骤(如果您向我展示我们拥有清单文件的地方的文件夹结构,这对我很有帮助)
假设您具有以下目录结构:
MyJavaProject
|-src
|- com
|- example
|- Main.java
要在cmd行中编译此类项目(无外部依赖项),您需要调用命令
$ cd MyJavaProject
$ mkdir bin //to separate *.class file from source files
$ javac -d bin src\com\example\Main.java
这将Main.class
在bin
目录中创建文件。要将其打包为* .jar文件,您可以:1)使用二进制文件创建jar,并在cmd中指定Main
class 2)创建Manifes并将其嵌入到jar中(我将重点介绍这一点)
您应该在其META-INF
下src
并在其中创建MANIFEST.mf
文件的目录中创建目录
您的清单应如下所示:
Manifest-Version: 1.0
Created-By: <Your info>
Main-Class: com.example.Main
请记住在清单末尾添加空行!!
在这种情况下,您可以指定Manifest-Version
属性,Created-By
属性以及要在Main-Class
属性中运行的主类的完全限定名称
要使用此清单文件和二进制文件创建Jar,请调用命令
$ cd bin
$ jar cfm MyJavaProject.jar ..\src\META-INF\MANIFEST.MF .
这将创建新的jar MyJavaProject.jar
并使用您的清单
如果您的项目依赖于外部类或jar,则在编译时将它们添加到类路径中(-cp
可选),并在其中添加另一行Manifest
ClassPath: path/to/dependent/jars/jar.jar
重新编译它并创建新的jar并享受您的Java任务:)
有关清单的更多信息,请参见:docs
PS:使用罐子,从cmd行进行放大似乎很丑陋,但是它可以教您一些类似ava的概念。如果要跳过它,请考虑使用Apache
Maven
或Apache Ant
问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着
我正在用Gradle构建一个JAR文件。当我尝试运行它时,我得到了错误 RxJavaD中没有主清单属性emo.jar 我试图操纵清单属性,但我想我忘记向它添加依赖项或其他东西了。我到底做错了什么?
我有以下build.xml代码。在这里,我在jar文件中修改了清单文件。在清单中,我想添加一些属性,例如资产名称和资产基线。 buildInfo的内容。属性如下: build.xml:我想动态传递名称,即 articlelib 值,并从 buildInfo.properties 中检索值。我在清单外部使用了宏元数据,它是工作文件,但当我在清单标签中使用相同的时,我无法使用它。我是否可以解决此问题或
当运行我的jar文件:java-jar target/places-1.0-snapshot.jar时,我得到了下一个错误: 我的pom.xml包含spring-boot-maven-plugin: 知道我还能试试什么吗?
当项目从IDE执行时,是如何创建的,以便真正运行Hello world类型的控制台应用程序? 显然,只需要为清单指定条目。 只需关注阶段: 运行Maven工具Maven阶段 虽然不是一个全面的列表,但这些是执行的最常见的默认生命周期阶段。 验证:验证项目是否正确,所有必要的信息是否可用编译:编译项目的源代码测试:使用合适的单元测试框架测试编译的源代码。这些测试不应该要求将代码打包或部署到包中:将编
问题内容: 我最近刚开始在Java中玩Maven。是时候测试我的项目了,它在NetBeans窗口中运行正常,运行在App.java(com.MyCompany.App)中找到的主类,但是当我尝试从命令行运行它时,出现了一个错误: fileName.jar中的“无主要清单属性” 我尝试添加一个manifest.mf文件来指定主要文件,我也进入了项目属性并将其添加为主文件… 这是怎么回事? 问题答案: