我正在加入一项竞赛,要求我将所有java类放在一个.java文件中。是否存在为我执行此操作的工具(包括更改类的可见性以便能够执行此操作)?
加法:感谢您试图帮助我阅读比赛网站,但我引述:
可以制作多个 你的课程,但你会 必须把所有类的来源 在单个.java文件中(编译器 将生成多个.class文件 无论如何)。当你这样做时,你应该这样做 不公开你的课程,或 编译器会抱怨它。
因此,只允许1个.java文件(没有jar),在该文件中,除了我的公共主类之外,我可以有多个非公共类(而不仅仅是建议的静态内部类)。
答案 0 :(得分:3)
如果您可以访问Unix-y shell(对于Windows,您可以安装例如Git用于体面的Bash实现,和它为您提供了一个很棒的VC工具):
cat *.java | sed 's/public class/class/g' >AllTehCodez.java
不必比那更复杂(当然,除非你有很多包含子串“public class”的字符串)。
编辑:不适用于打包和导入。但...
(
egrep -h ^package *.java | head -1
egrep -h ^import *.java | sort -u
egrep -hv '^(import|package)' *.java | sed 's/public class/class/g'
) >AllTehCodez.java
这当然假设所有类都在同一个包中。
答案 1 :(得分:0)
如果我们按照上面提到的方式排除各种“bijou脚本haquettes”,我严重怀疑是否有任何严肃的工具。
为什么呢?因为这种废话违背了所有已知的Java风格规则和惯例!
该网站背后的人需要了解存档文件格式;例如TAR,ZIP,JAR。
修改强>
我把它拿回来。他们了解JAR文件。引用他们的一份文件:
使用您自己的可执行Java jar和Caia
您也可以使用自己的Java jar Caia比赛。我们写了 jarwrapper为此。的来源 jarwrapper.c放入 caia_install_ / jarwrapper / 夹。在Windows发行版中,这是 放入src /文件夹。
假设您的类文件的名称是 JavaPlayer.class。你唯一的事 必须做的是重命名 来自bin /文件夹中的可执行文件 jarwrapper到JavaPlayer。该 可执行文件现在将执行 命令:java -jar JavaPlayer。罐子 文件应该包含一个清单 用主要指向班级 方法
在manager.txt中,您可以使用该程序 名称JavaPlayer,指的是 启动Java jar的可执行文件 播放器。