导航:首页 > 源码编译 > 普通java项目编译路径

普通java项目编译路径

发布时间:2023-09-24 12:17:35

java项目中文件的路径

java项目中文件的路径-方法大全

一、 相对路径的获得

说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)

System.getProperty("user.dir");

上述相对路径中,java项目中的文件是相对于项目的根目录web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于tomcat安装目录in)

二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)

InputStreamis=TestAction.class.getClassLoader().getResourceAsStream("test.txt");(test.txt文件的路径为 项目名src est.txt;类TestPath所在包的第一级目录位于src目录下)

三 web项目根目录的获得(发布之后)
1 从servlet出发

可建立一个servlet在其的init方法中写入如下语句(没有请求的话会抛空指针导常)

ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:F: omcat-6.0.36webapps est(test为项目名字)

如果是调用了s1.getRealPath("")则输出F: omcat-6.0.36webapps est(少了一个"")

2 从httpServletRequest出发(没有请求的话会抛空指针导常)

String path=request.getSession().getServletContext().getRealPath("/");

结果形如:F: omcat-6.0.36webapps est

四 classpath的获取(在Eclipse中为获得src或者classes目录的路径),放在监听器,可以窗口启动获取路径

方法一Thread.currentThread().getContextClassLoader().getResource("").getPath()

String path = Thread.currentThread().getContextClassLoader()

.getResource("").getPath();

System.out.println("path========"+ path);输出:path========/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/


方法二JdomParse.class.getClassLoader().getResource("").getPath()(JdomParse为src某一个包中的类,下同)

eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);

输出:JdomParse.class.getClassLoader().getResource-/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)

eg String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);

输出:JdomParse.class.getResource--/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

(JdomParse为src目录下jdom包中的类)

四 属性文件的读取:

方法 一

InputStream in = lnewBufferedInputStream(newFileInputStream(name));

Properties p =newProperties();p.load(in);

注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值

方法二

Locale locale =Locale.getDefault();
ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest",locale);
String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);

工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:

test=hello word

不通过Servlet获取路径

第一种实现

Java代码

URL url = ClassLoader.getSystemClassLoader().getResource("./");

File file =newFile(url.getPath());

File parentFile =newFile(file.getParent());

System.out.println("webRoot:"+parentFile.getParent());

第二种实现
首先写一个接听类 (推荐使用,容器启动时就执行,不会抛空指针异常,适合做定时器任务来删除服务器文件的路径)

Java代码:

package com.chinacreator.report.listener;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

/**

* @authorxiaoqun.yi

*/

public class PathListener {

private staticServletContext servletContext;

public voidcontextDestroyed(ServletContextEvent sce) {

this.servletContext= sce.getServletContext();

System.out.println("path=======:"+servletContext.getRealPath("/"));

}

public voidcontextInitialized(ServletContextEvent arg0) {

}

}


在web.xml中加入如下配置

Java代码 :

<listener>

<listener-class>com.chinacreator.report.listener.PathListener</listener-class>

</listener>

五、Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由 ClassLoader(类加载器)(获取资源)

2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。

3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。

4. Jsp下的application内置对象就是上面的ServletContext的一种实现。

其次,getResourceAsStream 用法大致有以下几种:

第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类me.class ,同时有资源文件myfile.xml

那么,应该有如下代码:

me.class.getResourceAsStream("myfile.xml");

第二:在me.class目录的子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.y.file 目录下有资源文件myfile.xml

那么,应该有如下代码:

me.class.getResourceAsStream("file/myfile.xml");

第三:不在me.class目录下,也不在子目录下,例如:com.x.y 下有类me.class ,同时在 com.x.file 目录下有资源文件myfile.xml

那么,应该有如下代码:

me.class.getResourceAsStream("/com/x/file/myfile.xml");

总结一下,可能只是两种写法

第一:前面有 “ / ”

“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject

me.class.getResourceAsStream("/com/x/file/myfile.xml");

第二:前面没有 “ / ”

代表当前类的目录

me.class.getResourceAsStream("myfile.xml");

me.class.getResourceAsStream("file/myfile.xml");

⑵ JAVA编译环境

配置JDK / JAVA

1 环境变量

Path ----外部命令搜索路径;

CLASSPATH ----类资源位置搜索路径;

1.1 设置方法1

“开始”-->“设置”-->“控制面板”-->“系统”-->“高级”-->“环境变量” -->“新建”,在弹出的对话框中加入两个新的环境变量:

变量名

变量值

Path

.;C:\jdk1.3\bin

CLASSPATH

.;C:\jdk1.3\lib\tools.jar;C:\jdk1.3\lib\dt.jar

注意事项:单词(Path、CLASSPATH等)的大小写拼写不能错,下同。其中的“C:\jdk1.3”是JDK的实际安装路径;path环境变量一般已经存在,所以只需要编辑此变量就可以了,把.;C:\jdk1.3\bin附加在原变量值的前面(防止其它JRE的影响,如Oracle中的JRE)。

1.2 设置方法2

编写如下批处理。

echo off

rem set JDK running environment

set path=d:\java\jdk\bin;%path%

set classpath=.;d:\j2sdk\lib\tools.jar;D:\Apache\Tomcat5\common\lib\servlet-api.jar;

注意事项:命名上面内容的文件为jdk.bat,并存放于恰当的目录中,每次切换到DOS提示符状态时,先执行此批处理,设置环境变量。其中的d:\java\jdk是JDK的实际安装路径。

2 修改注册表(JDK1.3中文问题) :

设置方法:“开始”-->“运行”-->输入“regedit”然后回车-->“HKEY_LOCAL_MACHINE”-->“SOFTWARE”-->"JavaSoft" -->"Java 运行环境",单击鼠标右键“重命名”为"Java Runtime Environment"

3 启动命令行功能:

3.1 方法1

“开始”-->“运行” -->输入“cmd”然后回车;

3.2 方法2

“开始”-->“程序” -->“附件” -->“命令行提示”;

3.3 方法3

将方法2的最后一步改为:用鼠标左键单击“命令行提示”(不松开左键)并将其拖到桌面上或桌面最左下角已有的几个小图标处,松开鼠标左键。

注意事项:如果是用设置方法2设置环境变量,不要忘了执行完上面的方法1或方法2或方法3后,执行jdk.bat。

4 关于命令行编译和运行功能:

在命令行方式下运行的命令,对应的可执行文件(javax.exe, java.exe等)可以位于环境变量Path中所声明的位置,但运行所要用到的其它类型文件.java , .class文件必须位于当前路径下或在文件名前标明其所在路径。

例如:当HelloWorld.java文件保存在路径:C:盘的ex子目录下时,可用如下命令编译:

C:\ex\javac HelloWorld.java (推荐用法)或

C:\javac ex\HelloWorld.java 或

D:\javac C:\ex\HelloWorld.java

运行时与编译类似,但文件名不加后缀,如:C:\ex\java HelloWorld

5 显示文件扩展名

设置方法:“我的电脑”或“资源管理器”窗口-->“工具” -->“文件夹选项”-->“查看” -->将“隐藏已知文件类型的扩展名”项目置于未选中状态;

6 三种文本编辑器

notepade, UltraEdit, Kawa;

⑶ 怎么改变eclipse编译路径

eclipse中找到编译后的class路径有两种方法:
一、项目设置.class设置输出路径
右键项目 > Properties > Java Build Path > Source > Default Output Folder

2、点击"Browse"时可以选择目录或新建目录用于存放.class文件

设置完成后,src中的.java文件编译后生成的.class文件与package所对应的目录一起。
存放在classes目录中。如图:

二、设置全局.class文件输出路径
Window > Preferences > Java > Build Path > Source and Output Folder
如下图:

此时再新建项目的时候会自动的将.class文件放置在你所设置的目录中

⑷ JAVAC编译是否必须在JAVA文件所在目录才行

不是,要设置环境变量,在我的电脑上单击按鼠标右键,选择属性,弹出系统属性对话框,切换高级选项卡,点击环境变量,系统变量下点击新建按钮,变量名填:JAVA_HOME,变量值:你安装的JAVA应用程序路径名(例C:\Program
Files\Java\jdk1.7.0_51),在系统变量找到变量Path,点击编缉按钮,在变量值最后添加\;%JAVA_HOME%\bin;再运行cmd,你就可以运行JAVA虚拟机了。

⑸ Java代码编译好后的.class文件在哪个文件夹啊

eclipse工具,如果是java项目,class文件在你的java项目的bin下或bin下的包里(bin下的文件夹下);
如果是java
web项目class文件在你的web项目下的WebRoot\WEB-INF\classes
文件下

⑹ java:src目录及子目录下的java文件如何编译到classes目录下对应的目录

其实不用什么小工具或者什么命令,工程下的src目录都是指source,也就是源代码的意思,对于Java来说,就是主要用来存放后缀名为.java文件和一些配置文件(比如.properties文件)。在src目录旁边的build目录里就有一个classes目录,当java工程启动的时候src目录里的.java文件和配置文件都会自动统一编译到这个classes目录中,一个包就是一个文件夹名字相同一一对应。

⑺ JAVA编译目录

用-d来指定目录,例如:
你所在目录是c:\work
里面有两个目录run和class
将.java文件放在run中,并且保留里面的package class;
进入目录c:\work\run
执行命令javac hello.java -d c:\work

阅读全文

与普通java项目编译路径相关的资料

热点内容
android多个布局文件 浏览:625
奔跑程序员 浏览:468
服务器如何搭建类似github 浏览:292
明日之后安卓太卡怎么办 浏览:502
如何使用命令方块找到村庄 浏览:766
泛函压缩映像原理 浏览:521
win10清除文件夹浏览记录 浏览:964
如何查看服务器域中所有服务 浏览:384
学mastercam91编程要多久 浏览:999
如何查服务器地址和端口 浏览:911
教学云平台app怎么下载 浏览:389
单片机510教学视频 浏览:624
陕西信合app怎么查看自己的存款 浏览:663
风冷冰箱有压缩机 浏览:274
android实现wifi连接wifi 浏览:669
飞猪app怎么帮别人值机 浏览:924
笔记本开我的世界服务器地址 浏览:546
怎样隐藏bat命令 浏览:127
android开发创意 浏览:138
京剧猫为什么进不去服务器 浏览:784