Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否存在用于组合java文件的工具_Java - Fatal编程技术网

是否存在用于组合java文件的工具

是否存在用于组合java文件的工具,java,Java,我正在参加一个竞赛,它要求我将所有java类放在一个.java文件中。是否有一个工具可以为我做到这一点(包括更改类的可见性以便能够做到这一点) 添加:感谢您尝试帮助我阅读比赛网站,但我引用: 可以制作多个 为你的计划上课,但你会 必须为所有类放置源代码 在单个.java文件(编译器)中 将生成多个.class文件 无论如何)。当你这样做的时候,你应该 不将您的类声明为公共类,或者 编译器将对此进行投诉 因此,只允许使用1.java文件(无jar),在该文件中,除了我的公共主类之外,我还可以有多个

我正在参加一个竞赛,它要求我将所有java类放在一个.java文件中。是否有一个工具可以为我做到这一点(包括更改类的可见性以便能够做到这一点)

添加:感谢您尝试帮助我阅读比赛网站,但我引用:

可以制作多个 为你的计划上课,但你会 必须为所有类放置源代码 在单个.java文件(编译器)中 将生成多个.class文件 无论如何)。当你这样做的时候,你应该 不将您的类声明为公共类,或者 编译器将对此进行投诉


因此,只允许使用1.java文件(无jar),在该文件中,除了我的公共主类之外,我还可以有多个非公共类(而不仅仅是建议的静态内部类)。

如果您可以访问Unix-y shell(对于Windows,您可以安装Git以实现一个像样的Bash实现,并且它为您提供了一个很棒的VC工具):

不必比这更复杂(当然,除非有很多字符串包含子字符串“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
当然,这并不假设所有类都在同一个包中。

如果我们按照上述建议排除各种“bijou脚本Haquette”,我严重怀疑是否存在任何真正的工具来实现这一点

为什么??因为这种废话违背了所有已知的Java风格规则和约定

网站背后的人需要学习档案文件格式;e、 焦油、拉链、罐子

编辑

我收回这句话。他们确实理解JAR文件。引用其中一份文件:

通过Caia使用您自己的可执行Java jar

您还可以在中使用自己的Java jar Caia竞赛。我们已经写了 对此我很抱歉。来源 jarwrapper.c被放入 caia_安装_/jarwrapper/ 文件夹。在Windows发行版中,这是 放入src/文件夹

假设类文件的名称为 JavaPlayer.class。你唯一想做的事 我们要做的就是重新命名 在bin/文件夹中的可执行文件 jarwrapper到JavaPlayer。这个 可执行文件现在将执行 命令:java-jarjavaplayer。罐子 文件应该包含一个清单 指向具有主选项的类 方法

在manager.txt中,您可以使用该程序 名称JavaPlayer,它引用 启动Java jar的可执行文件 玩家


这样做并不可取,因此我认为没有任何组织在这方面花费时间。@org.life.java我已经为此感到害怕了……我想知道你为什么要这样做?@org.life.java我正在参加一个竞赛()这要求我在一个java文件中提交我的解决方案,然后您可以在一个java文件中手动复制和粘贴所有类,并考虑访问说明符。我希望它的竞争对手不会超过5类。关闭包和导入声明会扼杀该解决方案。合并后您必须编辑结果。是的,他们的软件支持它,但对于真正的竞争,规则中明确规定它必须是单个.java源文件。请注意,他们需要源文件,您现在引用的部分是关于编译文件(java-jar)
(
  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