当前位置: 首页 > news >正文

北京网站优化关键词排名小欢喜林磊儿什么网站做家教

北京网站优化关键词排名,小欢喜林磊儿什么网站做家教,宝安沙井邮政编码,汇川区住房和城乡建设厅网站java 编译 器 ide最近一个名为“ 不使用IDE编译Java软件包 ”的Java subreddit线程提出了一个问题#xff1a;“是否有一个命令将软件包内的一组Java文件编译到一个单独的文件夹中#xff08;以下简称为bin#xff09;#xff0c;以及如何我会去运行新的类文件吗#xff1… java 编译 器 ide 最近一个名为“ 不使用IDE编译Java软件包 ”的Java subreddit线程提出了一个问题“是否有一个命令将软件包内的一组Java文件编译到一个单独的文件夹中以下简称为bin以及如何我会去运行新的类文件吗” 该帖子的作者kylolink解释说“当我开始使用Java时我依靠Eclipse为我完成所有编译而只是担心编写代码。” 我已经多次看到这个问题实际上这是促使我现在已经4岁的博客文章GPS系统和IDE的原因有用还是有害 我喜欢强大的现代Java IDE它们每天使我的生活变得更轻松但是了解如何在没有它们的情况下构建和运行简单的Java示例也有很多好处。 这篇文章着重于如何做到这一点。 在我的博客文章“ 通过简单测试学习Java”中 我写了一些我有时喜欢使用简单的文本编辑器和命令行工具来编写构建和运行简单应用程序的方式。 我现在有一个很好的主意我最喜欢的Java IDE需要多少“开销”并尽早决定使用IDE获得的好处是否足以保证“开销”。 在大多数实际应用程序中毫无疑问IDE“开销”是值得的。 但是对于最简单的示例应用程序并非总是如此。 本文的其余部分显示了在这些情况下如何在没有IDE的情况下构建和运行Java代码。 要构建和执行的Java代码 为了使本文的讨论更加具体我将使用一些非常简单的Java类这些Java类通过组合或继承相互关联并且位于相同名称的包中而不是未命名的包中 称为dustin.examples 。 其中两个类没有main函数而第三个类Main.java确实具有一个main函数以允许演示如何在没有IDE的情况下运行该类。 接下来显示这三个类的代码清单。 Parent.java package dustin.examples;public class Parent {Overridepublic String toString(){return Im the Parent.;} } Child.java package dustin.examples;public class Child extends Parent {Overridepublic String toString(){return Im the Child.;} } Main.java package dustin.examples;import static java.lang.System.out;public class Main {private final Parent parent new Parent();private final Child child new Child();public static void main(final String[] arguments){final Main instance new Main();out.println(instance.parent);out.println(instance.child);} } 下一个屏幕快照显示了具有这些类.java源文件的目录结构。 屏幕快照显示了源文件在表示包名称的目录层次结构中由于使用dustin.examples因此使用了dustin.examples dustin/examples 并且反映包的目录层次结构在名为src的子目录下。 我还创建了classes子目录当前为空来放置已编译的.class文件因为javac该目录不存在时不会创建该目录。 使用Javac进行构建并使用Java运行 无论使用哪种方法来构建Java代码AntMavenGradle或IDE它最终都归结为javac 。 通过运行javac -help可以看到Oracle / Sun提供的javac 命令行工具的标准选项而通过运行javac -help -X可以查看其他扩展选项。 在Windows或Unix / Linux的 javac的工具文档中可以找到有关如何应用这些选项的更多详细信息。 如javac文档所述 -sourcepath选项可用于表示源文件所在的目录。 在上面的屏幕快照中显示的目录结构中这意味着假设我正在C:\java\examples\javacAndJava\目录中运行javac命令则我的命令中需要具有以下内容 javac -sourcepath src src\dustin\examples\*.java 。 下一个屏幕快照显示了此结果。 因为我们没有为.class文件指定目标目录所以默认情况下将它们与编译它们的源.java文件放在同一目录中。 我们可以使用-d选项纠正这种情况。 我们的命令现在可以运行例如作为javac -sourcepath src -d classes src\dustin\examples\*.java 。 如前所述指定的目标目录 classes 必须已经存在。 完成后该命令会将.class文件放置在指定的目录中如下一个屏幕快照所示。 将Java源文件编译为指定目录中的相应.class文件之后我们现在可以使用Java应用程序启动器命令行工具java运行该应用程序。 只需按照java -help或java工具页面上显示的说明并使用-classpath 或-cp 选项指定.class文件的位置即可完成。 在下一个屏幕快照中演示了使用这两种方法指定classes目录是查找.class文件的位置。 最后一个参数是具有要执行的main功能的类的标准名称整个Java程序包。 在下一个屏幕快照中演示的命令是java -cp classes dustin.examples.Main和java -classpath classes dustin.examples.Main 。 使用Ant构建并运行 对于最简单的Java应用程序使用javac和java分别构建和执行该应用程序非常简单如刚刚演示的那样。 随着应用程序的参与度提高例如存在于多个软件包/目录中的代码或第三方库和框架上更复杂的类路径依赖项这种方法可能变得笨拙。 Apache Ant是Java构建工具“三巨头 ”中最古老的一种已在数千个应用程序和部署中使用。 正如我在前一篇博客文章中所讨论的那样 很容易创建一个非常基本的Ant构建文件尤其是如果该文件以我在该文章中概述的模板开头的话。 下一个代码清单是针对Ant build.xml文件的该文件可用于将.java文件编译为.class文件然后运行dustin.examples.Main类就像上面对javac和java所做的那样。 build.xml ?xml version1.0 encodingUTF-8? project nameBuildingSansIDE defaultrun basedir.descriptionBuilding Simple Java Applications Without An IDE/descriptiontarget namecompiledescriptionCompile the Java code.javac srcdirsrcdestdirclassesdebugtrueincludeantruntimefalse //targettarget namerun dependscompiledescriptionRun the Java application.java classnamedustin.examples.Main forktrueclasspathpathelement pathclasses//classpath/java/target /project 我没有使用过Ant属性也没有包括我通常包含的公共目标例如“ clean”和“ javadoc”以使该示例尽可能简单并使之与使用javac和java的上一个示例保持接近。 还要注意我为javac Ant任务包括了将“ debug”设置为“ true”的原因因为在Ant的默认设置中它不是true而在javac的默认值中是true。 毫不奇怪Ant的javac任务和java任务与命令工具javac和java非常相似。 因为我使用了未明确指定构建文件的Ant期望的默认名称 build.xml 并且因为我将“运行”目标作为该构建文件的“默认”并且因为我将“编译”作为依赖项要运行“运行”目标并且由于Ant在我环境的路径上因此我需要在命令行上执行以使Ant编译并运行该示例的所有操作是在带有build.xml文件的目录中键入“ ant”。 下一个屏幕快照对此进行了演示。 尽管我演示了如何使用Ant编译和运行简单的Java应用程序但是我通常仅使用Ant编译并使用java 或者如果类路径令人讨厌的话会调用java的脚本运行。 使用Maven构建和运行 尽管Ant是第一个主流的Java构建工具但是Apache Maven最终获得了自己的显著成就这在很大程度上要归功于它采用了约定的配置方式以及对库的通用存储库的支持。 当代码和生成的对象符合其标准目录布局时Maven最容易使用。 不幸的是我的示例没有遵循此目录结构但是Maven允许我们覆盖预期的默认目录结构 。 下一个代码清单是针对Maven POM文件的该文件将覆盖源目录和目标目录并为使用Maven 3.2.1的Maven构建提供其他最低要求的元素。 pom.xml projectmodelVersion4.0.0/modelVersiongroupIddustin.examples/groupIdartifactIdCompilingAndRunningWithoutIDE/artifactIdversion1/versionbuilddefaultGoalcompile/defaultGoalsourceDirectorysrc/sourceDirectoryoutputDirectoryclasses/outputDirectoryfinalName${project.artifactId}-${project.version}/finalName/build /project 因为上面的pom.xml文件将“ defaultGoal”指定为“ compile”并且因为pom.xml是Maven可执行文件mvn查找的默认自定义POM文件并且因为Maven安装的bin目录在我的路径上所以我只需要运行“ mvn”来编译.class文件如下一个屏幕快照所示。 我还可以使用命令mvn exec:java -Dexec.mainClassdustin.examples.Main使用Maven运行编译后的应用程序这将在下一个屏幕快照中演示。 与Ant一样我通常不使用Maven运行我的简单Java应用程序而是在编译后的代码上使用java 或使用直接为长类路径调用java的脚本。 使用Gradle构建和运行 Gradle是三种主要Java构建工具中最年轻最时髦和最时髦的。 有时我对流行趋势的实质持怀疑态度但是我发现Gradle有很多令人喜欢的地方 用Groovy而不是XML编写内置的Ant支持内置的Ivy支持按约定容易被覆盖的配置 Maven存储库支持等。 下一个示例显示了一个Gradle构建文件该文件可用于编译和运行简单应用程序这是本文的主要示例代码。 它改编自我在博客文章Simple Gradle Java Plugin Customization中介绍的示例。 build.gradle apply plugin: java apply plugin: application// Redefine where Gradle should expect Java source files (*.java) sourceSets {main {java {srcDirs src}} }// Redefine where .class files are written sourceSets.main.output.classesDir file(classes)// Specify main class to be executed mainClassName dustin.examples.MaindefaultTasks compileJava, run build.gradle文件的前两行指定Java插件和Application插件的应用程序 从而自动为该版本带来了很多功能。 “ sourceSets”和“ sourceSets.main.output.classesDir”的定义允许分别覆盖Gradle的Java插件的Java源代码和编译的二进制类的默认目录。 “ mainClassName”允许显式指定应作为Application插件的一部分运行的类。 “ defaultTasks”行通过在命令行中简单地键入“ gradle”来指定要运行的任务“ compileJava”是Java插件提供的标准任务“ run”是Application插件提供的标准任务。 因为我将构建文件命名为build.gradle并且因为我指定了默认任务compileJava和run并且因为我的路径上有Gradle安装bin目录所以我要做的就是构建和运行示例。键入“ gradle”这将在下一个屏幕快照中演示。 即使是最大的怀疑论者也不得不承认对于这个简单的示例Gradle的构建非常巧妙。 它结合了依靠某些约定和假设的简洁性以及根据需要覆盖选择默认值的非常简单的机制。 它使用Groovy而不是XML的事实也非常吸引人 与Ant和Maven一样我倾向于仅使用这些工具进行构建并且通常直接使用java或调用java的脚本直接运行已编译的.class文件。 顺便说一句我通常也将这些.class存档到运行中的JAR中但这超出了本文的范围。 结论 IDE通常对于构建简单的应用程序和示例不是必需的甚至可能比最简单的示例值得拥有更多的开销。 在这种情况下直接应用javac和java来构建和运行示例相当容易。 随着示例变得越来越复杂诸如AntMaven或Gradle之类的构建工具变得越来越有吸引力。 许多IDE支持这些构建工具的事实意味着如果在简单的应用程序发展成为一个成熟的项目时确定需要IDE支持则开发人员可以使用在过程中较早创建的构建工具过渡到IDE。 翻译自: https://www.javacodegeeks.com/2014/04/compiling-and-running-java-without-an-ide.htmljava 编译 器 ide
http://www.zqtcl.cn/news/787085/

相关文章:

  • app展示网站手机端app开发公司
  • 在湖南建设人力资源网站wordpress widget
  • 英文网站建站山东做网站用虚拟主机还是服务器
  • 网站设计佛山顺德投资公司注册条件和要求
  • 肇庆网站优化建设淄博网站建设优惠臻动传媒
  • 电子商务网站模板 html服装网站栏目调研
  • 抚州市做棋牌网站邯郸信息港聊天室
  • 李静做的化妆品网站树莓派lamp WordPress
  • 建站之星网站建设系统个人网站有什么外国广告做
  • 残联网站建设概况专业产品画册设计公司
  • 德尔普的网站建设的价格windows2008做网站
  • 画品展现手机网站短网址生成器有哪些
  • 如何做好网站推广营销网站 需求
  • 济宁做网站大约多少钱做设计兼职的网站有哪些
  • 教务系统网站开发方法网站建设在哪里
  • 房产网站如何做手机在网上怎么创建自己的网站
  • 金华网站建设luopan公司网站模板图片
  • 建个购物网站网站建设公司合同
  • 建设银行企业版网站网站里的动态是如何制作
  • 360网站建设的目标是什么微信哪个公司开发
  • c++可以做网站吗极验 wordpress 表单
  • 电脑做系统都是英文选哪个网站找外贸客户的联系方式软件
  • 商城网站建设咨询建工社官网
  • 国土资源局网站建设制度蓝牙 技术支持 东莞网站建设
  • 12380网站建设建议上海网站推广服务
  • 做公司网站要提供什么企业门户app
  • 免费企业网站模板 php网站301跳转怎么做
  • 沭阳哪里有做网站推广的二手车网站源码下载
  • 网站建设添加视频教程wordpress做阿里巴巴国际站
  • 四川网站建设哪家专业辽宁招投标工程信息网