javac @<opiton_file> 和编码

标签 java compilation javac

我正在尝试在 Windows 7 下的计算机上用法语编译一些 java 文件;我想我在文件结尾方面遇到了一些麻烦......

第一步,我生成要编译的文件列表:

dir src\*.java /B/S > javasrc.tmp~

它将在文件“javasrc.tmp~”中逐行写入src目录下java文件的完整路径(递归)。就我而言,我有:

C:\Users\Alexandre\Développement\Java\src\testA.java
C:\Users\Alexandre\Développement\Java\src\testB.java
[...]

(请注意,我的完整路径中有一个重音字母)

第二步,我使用以下命令编译所有源文件:

"%JAVA_HOME%\bin\javac.exe" @javasrc.tmp~

我收到此错误:

javac: file not found: C:\Users\Alexandre\Développement\Java\src\testA.java

在 Notepad++ 中打开 javasrc.tmp~ 文件时,该文件显示为:

C:\Users\Alexandre\D,veloppement\Java\src\testA.java
C:\Users\Alexandre\D,veloppement\Java\src\testB.java
[...]

重音字母显示为逗号;我必须选择 OEM 863 文件编码才能正确显示文件内容。

那么如何解决我的问题呢? (我在 bat 文件中使用这些命令作为自动化过程)。

谢谢。

最佳答案

最好的方法是更改​​为 ant 或 maven,而不是 bat 文件。它更标准,也更便携。

一个基本的 ant 文件将被命名为 build.xml,看起来像这样:

<project name="My Project Name Here" basedir="." default="main">

<property name="lib.dir" value="lib"/>

<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

<property name="src.dir" value="src"/>

<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>

<property name="main-class" value="My Main Class Name Here"/>

<target name="clean">
<delete dir="${build.dir}"/>
</target>

<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>

<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>

<target name="run" depends="jar">
<java fork="true" classname="${main-class}">
<classpath>
<path refid="classpath"/>
<path location="${jar.dir}/${ant.project.name}.jar"/>
</classpath>
<arg value="RIMM" />
</java>
</target>

<target name="clean-build" depends="clean,jar"/>

<target name="main" depends="clean,run"/>

</project>

关于javac @<opiton_file> 和编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14217779/

相关文章:

java - 修改 HttpServletRequest 体

android - 在 Android 中编译 speex (STATIC_LIBRARY)

c++ - 代码没有错误,但在命令提示符下什么都不做

java - 在命令行中运行一个 jar 文件(由 ant 生成)

java - 编译器警告对 Web 应用程序性能有影响吗

java - maven 中 javac 编译顺序错误的解决方法

java - ScheduledFuture 仅运行 14 次

java - 如何使用 HashMap 作为构建器?

java - 在java服务包装器中的wrapper.conf文件中将运行时参数传递到哪里?

c - 链接期间的 GCcflags