[英]How can I avoid needing to specify a fully qualified class name on the command line when delivering a single jar and using reflection?
[英]Simplest way to download a jar from the command line given the fully qualified name of a class
例如,如果我知道我必须在程序中执行以下导入
import org.apache.commons.math3.distribution.NormalDistribution;
在命令行中最快/最简单的方法是什么?什么是包含此类的软件包,并下载其最新版本的jar?
我读了这个问题 ,它是关于Eclipse的,每个答案都假设您已经有了要查找的jar文件,而不是通过Maven Central来详细介绍如何下载它。
一方面,答案很简单,另一方面却并非如此。 几乎没有设置的最简单方法是直接从项目站点下载jar,在您的情况下就是这样 。 如果找不到项目宿主,则可以在Maven Central上搜索。 下载后不要忘记将jar添加到您的类路径中。
完整的命令行解决方案需要Maven或Gradle之类的构建工具。 他们需要一些设置,但是一旦设置,您只要告诉他们您需要哪个库,他们就会为您下载。
您应该可以“卷曲” grepcode.com的网站,解析结果以识别jar文件。 解析是指您可能必须编写自己的代码才能通过命令行解析结果。 Jsoup可以为您提供很多帮助。
示例类
http://grepcode.com/search/?query=org.apache.commons.math3.distribution.NormalDistribution
jar文件-> commons-math3
然后使用高级搜索“ curl” search.maven.org。 解析结果,确定所需的链接。
http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22commons-math3%22
您可以在此处进行高级搜索。 http://search.maven.org/#advancedsearch%7Cgav
请注意,有时在search.maven.org上多次列出相同的jar文件。 因此,我倾向于那些提供源jar或版本最多的工具。
没有简单的解决方案。 Maven Central中的数百种不同工件可以包含一个特定的类。 您的命令行将如何决定给您哪个?
按照此链接 ,有一个REST API到search.maven.org。 您可以使用它来检索一个类的工件的(长)列表。 因此,您可以编写一个(例如)python程序来执行某项操作,但这并不是很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.