谁能给我推荐一个跟踪 Jar 文件元数据(包括反向依赖关系)的网站?
让您了解什么是反向依赖;给定 jar 的反向依赖是使用给定 jar 的 jar。例如,plexus-utils 是 maven-core 的依赖项。这使得 maven-core 成为 plexus-utils 的反向依赖项。
我知道有一些网站可以跟踪 jar 的依赖关系。但我需要一个跟踪反向依赖关系的网站。谢谢。
我正在使用 JDeveloper 11g 开发桌面应用程序。我想制作可在java环境中运行的整个项目jar..如果我只使用标准Java库jar工作正常,但我的项目包含外部库,如JfreeChart、Comm、Hibernate3等...当我尝试制作jar时它显示错误如何使我的项目的整个 jar 以及外部库的。
谢谢
我有一个非常基本的 .jar 文件,可以成功运行,尽管我似乎只能通过执行以下两件事之一来运行它:
java -jar test.jarjava -jar C:\Users\Nick\Documents\test.jar有没有一种方法可以运行 .jar 文件而无需执行这两件事,即从 Windows 资源管理器中运行 IE 的方法?
编辑:我的 .jar 文件如下所示:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: base.MainClass
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Run Code Online (Sandbox Code Playgroud)
我使用 Eclipse 来创建这个。我是否应该将 Main-Class 编辑为 base.MainClass,并删除其中包含 Rsrc 的任何内容?
我有一个 JarInputStream (由包含 JAR 文件的字节数组构造)并希望从中读取特定文件。因此,我遍历包含的 ZipEntries 并搜索该文件。然后我尝试将文件写入字节数组。
然而,该文件不知何故没有被完全读取。如果我将它写入文件系统并在文本编辑器中打开它,它在正确读取的前几行之后只包含 NULL。
代码如下所示:
JarInputStream is = new JarInputStream(new ByteArrayInputStream(_jarFile));
ZipEntry entry = is.getNextEntry();
while (entry != null) {
if (entry.getName().endsWith(".xyz")) {
// read the *.xyz file and load it into a byte array
int size = (int) entry.getSize();
byte[] _xyzFile = new byte[size];
is.read(_xyzFile, 0, size);
break;
}
entry = is.getNextEntry();
}
is.close();
Run Code Online (Sandbox Code Playgroud)
该size变量肯定包含正确的字节数,所以我不知道为什么读取在几行后就停止了。
可能的重复:
从 jar 文件更改类的代码
我从 .Net 那里得到了这个,那里有 Reflector 和 Reflexil,使我能够打开程序集并编辑其代码,而无需重新编译它。我做了一些研究,发现了 jd-gui,它可以让我查看 jar 内的 java 代码,但我找不到任何类似于 reflexil 的东西。
有没有什么软件可以让我修改 jar 而不必重新编译它们?
各位,
我正在尝试运行一个简单的 spring 使用示例@Required.
但是,当我运行主方法类时,我得到以下异常跟踪?
线程“main”中的异常 java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.(Ljava/lang/Class;Ljava/util/Collection;)V at org.springframework.orm.jpa.support。 PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:377)在org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:295)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.apply MergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java: 750)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:451)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:412)在java.security。 AccessController.doPrivileged(本机方法)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:383)在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:276)在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:273) 在 org.springframework.beans.factory .support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:175)在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:485)在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java :716)在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:377)在org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)在org.springframework.context.support.ClassPathXmlApplicationContext .(ClassPathXmlApplicationContext.java:83) 在 com.springexamples.annotation.required.EmployeeTest.main(EmployeeTest.java:19)
类路径中是否缺少任何特定的 jar?
谢谢
我创建了一个应用程序 - Instant Messenger - 连接到 MySQL 并且它需要 MySQL 驱动程序,因此我附上了这个外部库,并且该程序运行良好。但我想重新创建此应用程序作为 Applet 并将其存档到 .jar 如何编辑清单以将驱动程序封装到 Applet?
我知道我可以使用(对于桌面应用程序)类路径:external.jar,但它也适用于小程序吗?
谢谢大家。
编辑:或者还有另一种方法如何将外部 jar 封装到 Applet 中?例如,使用 HTML 代码?
出于调试目的,我试图将(黑客攻击的)META-INF/MANIFEST.MF文件注入到jar. 我在 jar 所在的同一级别创建了一个 META-INF 目录,并在其中创建了 MANIFEST.MF 文件。然后,根据本教程:
jar uf myjar-with-dependencies.jar META-INF/MANIFEST.MF
Run Code Online (Sandbox Code Playgroud)
它执行时没有错误,但只是删除了现有的清单而不替换它。我知道这一点是因为我跑过:
jar tf myjar-with-dependencies.jar | grep MANIFEST
Run Code Online (Sandbox Code Playgroud)
在更新之前,它会返回 jar 中找到的文件,但在更新之后不会返回。
为了列出类路径上特定目录的文件内容,我使用了 Java 7 的新FileSystem功能Path。在一个部署中,该目录直接存储在文件系统上。在另一个部署中,它存储在 JAR 文件中。
我的方法适用于 JAR 文件:我创建一个FileSystem引用 JAR 文件的对象并通过Path对象访问内容。
...
URI dir = ...
String[] array = dir.toString().split("!");
try (final FileSystem fs = FileSystems.newFileSystem(URI.create(array[0]), new HashMap<String, Object>()))
{
final Path directory = fs.getPath(array[1]);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory))
{
...
Run Code Online (Sandbox Code Playgroud)
由于 dir 对象具有以下值,因此它可以工作:
jar:file:/C:/Users/pax/.../Detector-1.0.jar!/org/.../destinationdir
Run Code Online (Sandbox Code Playgroud)
但在其他环境中,目标目录直接存储在文件系统上。dir 对象包含值:
file:/C:/Users/pax/.../destinationdir
Run Code Online (Sandbox Code Playgroud)
FileSystems.newFileSystem(...)/始终为file:/C:/Users/pax/.../destinationdirURI抛出以下异常:
java.lang.IllegalArgumentException: Path component should be '/'
at sun.nio.fs.WindowsFileSystemProvider.checkUri(WindowsFileSystemProvider.java:68)
Run Code Online (Sandbox Code Playgroud)
如何使用FileSystem.newFileSystem文件系统上的目的地?
是否有更好的方法来独立于其特定类型的存储(文件系统或 JAR 文件)列出目录内容?
我创建了一个 JAR 文件,然后将其添加到我的项目的构建路径中。现在我如何将它导入到我的类中以便我可以使用它?import java-class.jar;到目前为止我只尝试过。
jar ×10
java ×10
manifest ×2
annotations ×1
applet ×1
class ×1
decompiling ×1
dependencies ×1
directory ×1
filesystems ×1
import ×1
io ×1
jdeveloper ×1
mysql ×1
path ×1
reflector ×1
reflexil ×1
spring ×1
spring-3 ×1