相关疑难解决方法(0)

读我自己的Jar's Manifest

我需要读取Manifest传递我的课程的文件,但是当我使用时:

getClass().getClassLoader().getResources(...)
Run Code Online (Sandbox Code Playgroud)

MANIFEST从第一次.jar加载到Java Runtime.
我的应用程序将从小程序或webstart运行,
因此.jar我猜我无法访问自己的文件.

我实际上想要读取启动Felix OSGi 的Export-package属性.jar,所以我可以将这些包暴露给Felix.有任何想法吗?

java osgi manifest.mf apache-felix

124
推荐指数
9
解决办法
11万
查看次数

使用特殊的自动启动servlet在启动时初始化并共享应用程序数据

我需要获得一些配置并连接到某处的外部资源/对象/系统并将其存储在应用程序范围内.

我可以看到两种设置应用程序的方法:

  • 覆盖init()现有的servlet和所需的代码,并将所有构造的对象保留在同一个servlet中.
  • 拥有某种初始化servlet并使用它init()来完成工作.然后存储创建的对象ServletContext以与其他servlet共享.

以上哪种方法更好?有没有更好的方法在servlet之间共享对象?直接从彼此调用它们......?

servlets initialization data-sharing

32
推荐指数
1
解决办法
1万
查看次数

如何在WAR应用程序中读取MANIFEST.MF?

我想阅读MANIFEST.MF我的WAR申请.我怎样才能找到它的文件名?

java servlets

13
推荐指数
2
解决办法
3万
查看次数

将Maven POM版本号加载到Java Project中

我想在我的Java应用程序(在本例中为Vaadin Portlet)中添加版本编号,其中包含帮助视图中的版本号.

问题是该版本号是我的Maven的POM文件中定义的版本号(例如1.1.5-SNAPSHOT),这是我们要更改的版本号(例如发布时).

关于如何从POM中获取它并使用Java(例如,String)的任何想法?(如果可能的话)

谢谢

java pom.xml maven

6
推荐指数
1
解决办法
7894
查看次数

如何在运行Tomcat时获取软件包版本?

如何在运行Tomcat时获取软件包版本?

我尝试getClass().getPackage().getImplementationVersion()但这总是返回null.我想这是因为我的战争尚未打包,Tomcat执行.classes(又名爆炸战争). META-INF\MANIFEST.MF在最后的战争中存在,但不在target\<project.name>\META-INF文件夹中

java.lang.Package中

包对象包含有关Java包的实现和规范的版本信息.检索此版本控制信息,并由加载类的ClassLoader实例提供.通常,它存储在随类分发的清单中.

相关的是运行时的Get Maven工件版本

UPDATE.在我已经为war build添加配置之前.但是当我从Eclipse运行Tomcat时,我得到了null.

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <archive>                   
            <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
        </archive>
        <!-- this actually moves classes from \WEB-INF\classes to new jar 
        <archiveClasses>true</archiveClasses>
        -->
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java eclipse tomcat manifest.mf maven

6
推荐指数
1
解决办法
1万
查看次数

在Java servlet中读取自己的MANIFEST.MF

我试图在Java servlet中读取自己的MANIFEST.MF资源.我的情况:我在EAR中有一个WAR(带有我想要阅读的清单).EAR中还有其他几个WAR和JAR.类路径真的很长.

我尝试了Web中的几种方法,包括StackOverflow.

我可以使用读取所有MANIFEST.MF文件

this.getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
Run Code Online (Sandbox Code Playgroud)

并遍历它们.但是,我不知道哪一个是我的 - 我甚至不知道Implementation-Title,因为这是由构建管道生成的.(我可以通过构建管道的知识来猜测,因此我知道正确的清单就在那里.但是,我无法猜测生产代码.)

当然,

this.getClass().getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
Run Code Online (Sandbox Code Playgroud)

从类路径上的其他jar返回一个完全错误的清单.

我也试过了

this.getServletContext().getResourceAsStream("META-INF/MANIFEST.MF");
Run Code Online (Sandbox Code Playgroud)

但它返回null.

如何访问属于包含当前运行的servlet的WAR的MANIFEST.MF文件?

java servlets manifest.mf war

5
推荐指数
1
解决办法
885
查看次数