我需要从JavaWAR应用程序的类路径中读取文本文件。我怎样才能将它读作InputStream。文件位于/WEB-INF/classes/文件夹中,但是当我使用以下代码时,它只返回null。InputStreaminput=servletContext.getClass().getClassLoader().getResourceAsStream("my_filename.txt"); 最佳答案 用正斜杠作为前缀以表示类路径的根:getResourceAsStream("/my_filename.txt")或者,您可以使用serlv
我正在使用带有“m2eclipse”插件的Eclipse(Helios)。我正在开发一个基于Maven的Web应用程序项目,我在Eclipse中设置的本地Tomcat服务器上对其进行了测试。一般来说,这或多或少很管用。“m2eclipse”有时可能不稳定……但在大多数情况下,它使我的POM和我的Eclipse项目设置保持同步,并且同样使已部署的代码在Tomcat中保持最新。但是,最近我又添了一个皱纹。我有一个JavaScript包含文件,在从测试环境到实际生产环境时需要有所不同。差异太大,无法通过Maven过滤和token替换来干净地处理。我需要的是在我的项目中保留两个单独的文件,并且
使用以下代码,如何部署位于类路径中的WAR应用程序?privateServers;@BeforeClasspublicstaticvoidsetUp()throwsException{//StarthttpserverRandomr=newRandom();intport=1024+r.nextInt(8976);s=newServer(newInetSocketAddress("127.0.0.1",port));//AddmyWARfordeploymenthere...s.start();}jetty8.0.1JDK6 最佳答案
我正在使用SpringBoot开发Web应用程序,并希望生成war而不是jar。使用这里描述的从jar到war的转换工作得很好:http://spring.io/guides/gs/convert-jar-to-war/但我想从war中排除application.properties,因为我使用@PropertySource(value="file:${OPENSHIFT_DATA_DIR}/application.properties")获取文件路径生产环境。此方法在生成我的war时有效,但在eclipse中我无法运行我的应用程序,因为application.properties根本
我有一个Bean接口(interface),AbstractBean(实现Bean)和SpecificBean(扩展AbstractBean)。我想通过以下代码片段注入(inject)SpecificBean:@Stateless@SpecificpublicclassSpecificBeanextendsAbstractBean{..}@Path("resource")publicclassService{@Inject@SpecificprivateBeanbean;}当我尝试将它部署到glassfish时,我看到下一个错误:AnerrorhasoccurredErroroccur
假设您有多个应用程序共享相同的代码和大部分其他资源,但外观和感觉有些不同,一些标签发生变化等(想想品牌)。如果每个Web应用程序都放在自己的WAR文件中,您将共享资源放在哪里?我已经使用类路径来共享类和属性文件。但是javascript和css文件呢?创建和部署一个额外的WAR文件以将这些共享文件提供给需要它们的任何其他应用程序的最佳方式是什么?我还想到了一个构建脚本,它可以发挥一些魔力,并且从一个共同的来源喷出(稍微)不同的WAR,但我不喜欢它,因为它只会在您需要构建/测试/运行时不必要地使事情复杂化单个应用程序。任何其他提示和技巧将不胜感激。 最佳答案
我有一个JavaEE6应用程序,由Web内容和EJB组成,并且部署为仅WAR(使用EJB3.1)。该构建基于Maven。我刚刚读到有关在JavaEE6中订购模块初始化的新可能性here我的申请也需要它。此外,我希望可以选择在XML中定义一些EJB属性。由于示例是作为EAR项目部署的,所以顺序在application.xml中定义。但是在WAR部署的项目中,没有application.xml。现在我想知道我在哪里可以定义这些信息?或者是否可以在WAR部署的应用程序中以某种方式使用application.xml?编辑:糟糕,我没有正确阅读模块顺序示例,一开始我以为这是关于我的应用程序中EJ
我有一个Web应用程序,它通常需要大量时间才能部署到Tomcat上。我怀疑某个地方有一个数据库连接正在等待超时,但这只是一个猜测,我想确定是什么导致了延迟,以便我可以解决这个问题。任何人都可以建议我可以这样做的方法吗?我应该在加载WAR时分析Tomcat并在那里寻找线索吗?如果有,是否有适合初学者的教程?如果这很重要,我的Web应用程序使用Spring和Hibernate。一位同事告诉我,也许这些是导致速度变慢的原因,因为它们是如此之大,以至于某个地方的类加载器因需要加载的类的绝对数量而窒息。当我停止Tomcat或将WAR热部署到已经运行的Tomcat时,我也会看到这个:Jun1,20
我想用war包结构部署我的一个OSGi包,以便它被Struts识别为Web应用程序。我使用Maven,所以我得到内置的WAR包,我有Mavenbundle-plugin来为我创建OSGi兼容的list。问题是,两者不能一起工作,所以bundle插件不知道类文件现在在子文件夹classes/中,而捆绑的jar在lib中/,所以它创建了一个错误的Bundle-classpathheader。我可以手动将正确的header添加到我的pom.xml,但我希望自动添加。我该怎么做? 最佳答案 OPS4JWiki页面上描述了(或多或少)实现此目
我已经在StackOverflow上搜索了“propertiesinsidewar”,但没有一个结果适合我的情况。我正在使用EclipseGalileo和GlassFishv3开发一组Web服务。我正在使用具有以下结构的“动态网络项目”Src-java_code_pkg_1-java_code_pkg_2-com.company.config--configfile.propertiesWebContent-META-INF-WEB-INF--log4jProperties--web.xml--applicationContext.xml--app-servlet.xml我想访问“ja