-
怎样取得 WEB-INF/classes的路径?15
用 eclipse和tomcat开发,要修改WEB-INF/classes下的一个配置文件,在开发环境(eclipse和tomcat)测试的时候能够读取、修改,但是把该项目发布到was6上的时候,就报‘系统找不到指定的路径,;
程序是这样写的:
public static void writeKeyData(String key, String value) {
String PROPERTY_FILE = "/com/ts/config/ts.properties";
Properties prop = new Properties();
try {
File file = new File(loadProp.getClass().getResource("/").getPath());
file = new File(file.getPath() + PROPERTY_FILE);
if (!file.exists())
file.createNewFile();
InputStream fis = new FileInputStream(file);
prop.load(fis);
fis.close();
prop.setProperty(key, value);
OutputStream fos = new FileOutputStream(file.getPath());
prop.store(fos, null);
fos.close();
} catch (IOException e) {
e.printStackTrace();;
System.err.println("Visit " + PROPERTY_FILE + " for updating "
+ value + " value error");
}
}
发布到was6上运行时‘InputStream fis = new FileInputStream(file); ’报系统找不到指定的路径,;
was6是怎样取得WEB-INF/classes的路径的呢???? 望各位指教。。。
问题补充:
在eclipse和tomcat运行的时候,路径是可以指到.../WEB-INF/classes下的
而发布到was6上时,路径就指到../profiles/AppSrv01/properties/ 去了,就找不到文件了。
cwx714 和qtalen 的在WAS上似乎都得不到路径
问题补充:
问题解决了 谢谢各位的解答
最终找到的方法是:
ClassPathResource resource = new ClassPathResource(PROPERTY_FILE);
String path=null;
try {
path=resource.getURL().getPath().replace("20%", "");
} catch (Exception e) {
System.out.println(e.toString());
}2010年1月06日 12:39
6个答案 按时间排序 按投票排序
-
这样的写法在WAS中是正确的,可以取得对应的资源文件。
引用File file = new File(loadProp.getClass().getResource("/").getPath());
file = new File(file.getPath() + PROPERTY_FILE);
这里想问的是loadProp是什么对象,其运行时又是什么?
为什么不写为file = new File(getClass().getResource("/"+PROPERTY_FILE).getPath());
2010年1月07日 11:40
-
如果路径有空格(我不知道其他特别字符会不会有问题),会有问题的。用getResource("/").getPath()取到的路径,如果里面有空格会转换成%20, 就是unicode码了,在读文件的时候,得把%20重新换成空格,这样才能读取到文件。
2010年1月06日 20:03
-
InputStream f = your Object.class.getResourceAsStream(PROPERTY_FILE);
是这样吧/?2010年1月06日 18:29
-
换成
loadProp.getClass().getClassLoader().getResource("/").getPath()
试试2010年1月06日 13:59
-
String path = Thread.currentThread().getContextClassLoader().getResource("/").getPath();
2010年1月06日 13:43
相关推荐
以上就是关于"Maven打包,指定classes路径"的知识点,主要涉及到Maven的资源配置和插件定制。理解并掌握这些配置可以帮助开发者更高效地管理和构建Java Web应用。同时,记得在实际项目中根据实际情况调整`pom.xml`,...
将插件复制到JIRA安装路径下 WEB-INF/lib 3.JIRA 系统插件中文文件: a.下载并解压 atlassian-bundled-plugins_4.4.zip b.用winRAR打开 WEB-INF/classes/atlassian-bundled-plugins.zip c.将附件中的中文文件...
所谓java中的类路径是告诉java解释器和javac编译器去哪里找它们要执行或导入的类。类(包括class文件)可以存储在目录或jar...而类路径对一个javaweb应用而言,就是WEB-INF/classes下和WEB-INF/lib目录下的所有jar文件。
(D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class (3)假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下: <servlet-name> HelloServlet </servlet-name> <servlet-class...
在Java Web开发中,获取WEB-INF目录或者更广泛的WEBROOT(Web应用的根目录)的物理路径是一项常见的需求。这通常涉及到服务器环境变量、Servlet API的使用以及对Web应用部署结构的理解。以下将详细讲解如何在Java中...
外部配置文件则由开发人员编写,如`web.xml`、`struts.xml`和`struts.properties`,它们位于`WEB-INF`或`WEB-INF/classes`目录下。 `web.xml`是Web应用的标准部署描述符,它包含了所有必需的框架组件。在Struts 2中...
在Java Web开发中,有时我们需要从应用程序的`classes`目录或者对应的`WEB-INF/classes`目录中读取资源文件,例如配置文件、静态内容或者数据库连接字符串等。这通常发生在我们想要在运行时加载非代码的资源,而这些...
例如,如果你有一个配置文件位于`WEB-INF/classes/config.properties`,你可以使用如下的代码来获取其实际路径: ```java ServletContext context = getServletContext(); String filePath = context.getRealPath(...
* 文件路径:/WEB-INF/classes/com/whir/ezoffice/form/ 该知识点涉及到Java中的类文件上传和处理,通常情况下,类文件用于实现业务逻辑和数据处理。在这里,上传类文件是为了实现流程表单的处理和提交。 4. 新增...
确保配置文件的路径相对于`WEB-INF/classes`是可访问的,这样才能使Struts2成功读取并解析配置,从而正常运行应用程序。 总结一下,当遇到Struts2配置文件位置更改问题时,应遵循以下步骤: 1. 确保新的`struts....
2、设置数据库参数 配置文件位于 apache-tomcat/webapps/CloudMusic/WEB-INF/classes/dbConfig.properties 3、终端启动服务器 ``` cd apache-tomcat ./bin/catalina.sh run ``` 运行成功后,浏览器打开 ...
该websevice项目发布方式 ...//下面2种是发布到web服务器... 手动放在src下,默认发布到web服务器的路径为WEB-INF/classes/xxx.wsdl ps:发布到服务器的WebService地址为:http://localhost:8080/CXFDemo/HelloCXF?wsdl
在 Tomcat 中,log4j.properties 文件通常被放在 src 目录下,这样系统自动会找到该文件的路径是在 WEB-INF/classes 文件下,该目录在 classpath 下,所以直接就能找到。但是,如果我们想把 log4j.properties 文件...
个人整合好一套web流程设计器,修改压缩包内/apache-tomcat-8.5.100/webapps/activiti-app/WEB-INF/classes/META-INF/activiti-app路径下的activiti-app.properties文件中的数据库连接语句,启动tomcat即可
生成的Java文件通常位于WEB-INF/classes目录下,其类名基于JSP文件的URL路径,并带有_JSPServlet后缀。 例如,一个名为"index.jsp"的文件会被转化为"org_yourdomain_yourapp_index_jsp.java"。这个Java类继承自...
在build.xml配置文件中,定义了项目属性,如src、jsp和dist的路径,并创建了classpath路径集,包含了系统的环境变量和classes路径。此外,文件还定义了help、init、compile、build和clean等目标,以实现不同的构建...
服务类需要被编译成class文件,并将其copy到%AXIS_HOME%/webapps/axis/WEB-INF/classes/包路径/目录下。 四、配置文件deploy.wsdd deploy.wsdd是AXIS的配置文件,用于描述服务的发布信息。在这个文件中,需要指定...
需要注意的是,这种方法在Web应用中可能指向`WEB-INF/classes`或`WEB-INF/lib`中的JAR内的资源,具体取决于资源的位置。 为了更好地处理Web应用中的文件路径,理解Servlet上下文(ServletContext)的概念也很关键。...
- /WEB-INF/classes:应用程序的类路径根。 - /WEB-INF/lib:存放应用程序所需的库文件。 测试Tomcat是否安装成功,可以在浏览器中输入http://localhost:8080/,如果看到Tomcat的启动页面,说明安装无误。此外,...
修改WEB-INF/classes/config.properties相关配置,访问路径为ip:port/rocketmq-console/cluster/list.do