从JAR安装时没有清单属性(不是自己创建的)

时间:2016-06-15 05:13:09

标签: java ruby ta-lib

我正在尝试安装ta-lib以用于ruby gem(ta-indicator),但是jar文件说没有manifest属性。这是一个全新的Win 10安装,包含最新版本的Java SE和JDK。有人能告诉我我做错了什么吗?

注意:我在SO上针对此问题看到的大多数解决方案都涉及用户创建的jar。就我而言,JAR是由其他人here创建的,对大多数人来说显然效果很好。

注意2:如果我知道该信息,java -cp foo.jar full.package.name.ClassName可能会有效

C:\Users\king\Downloads>java -jar ta-lib-0.4.0.jar
no main manifest attribute, in ta-lib-0.4.0.jar  

C:\Users\king\Downloads>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)

1 个答案:

答案 0 :(得分:0)

此jar中的清单没有应用程序入口点,即没有Main-Class属性,因此错误。这是用于创建可执行jar文件的prerequisite。您可以通过打开ta-lib jar并读取manifest.mf来验证这一事实。鉴于ta-lib是一个库而不是一个可启动程序(GUI或交互式控制台),没有这个属性是完全正常的。

只要你的类路径中有ta-lib-0.4.0.jar,就可以调用像this这样的ta-lib函数。

编译程序

javac -cp 'searchpath of directories/jar files separated by OS specific path separator' <sourcefiles>

运行程序

java -cp 'searchpath of directories/jar files separated by OS specific path separator' your-main-class