windows下tomcat启动脚本中如何设置系统属性(类似JAVA_OPTS)

windows下tomcat启动脚本中如何设置系统属性(类似JAVA_OPTS),第1张

项目中需要读取指定路径下的文本

不希望在代码中指定路径

希望可以在tomcat的启动脚本中配置参数,使项目可以在运行时获取此参数:SystemgetProperty(iniFilePath)

jinfo 命令查看指定Java进程、核心文件或远程调试服务器的Java配置信息。

配置信息包括Java系统属性和Java虚拟机(JVM)命令行标志。

对于JVM来说就是: 实时查看和调整JVM配置参数

jinfo -flag name PID 查看某个java进程的name属性的值

通过 java -XX:+PrintFlagsInitial | grep manageable 查看哪些是manageable类型的flags

jinfo -flags PID

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

请教一下哪位高手知道JAVA的环境变量怎么配置让它在DOS中运行,我下载的版本是jdk150_01,系统属性环境变量中有一个用户变量和系统变量,该配置在哪个变量中呢

解析:

Windows下JAVA环境变量的设置祥解

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。

JAVA_HOME指向的是JDK的安装路径,如x:\JDK_142,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……

那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:

JAVA_HOME=x:\JDK_142

PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin

(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_142也是可以的;你可以打开一个控制台窗口,输入echo

%JAVA_HOME%来看一下你的设置结果) :

PATH=%JAVA_HOME%\bin;%PATH%

同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。

CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。

CLASSPATH=\;%JAVA_HOME%\lib\toolsjar

首先要注意的是最前面的"\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)

,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。

为什么CLASSPATH后面指定了toolsjar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:)

这个是由java语言的import机制和jar机制决定的,你可以查资料解决。

呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。

win9x用户修改autoexecbat文件,在其末尾加入:

set JAVA_HOME=x:\JDK_142

set PATH=%JAVA_HOME%\bin;%PATH%

set CLASSPATH=\;%JAVA_HOME%\lib\toolsjar

如果您在运行 "java -version" 命令时遇到 "未找到命令" 的错误消息,可能是因为您的计算机上没有正确安装Java或者您的 *** 作系统的环境变量没有设置正确。下面是几个可能的解决方案:

检查Java是否已正确安装

首先,您需要检查您的计算机上是否已经正确安装Java。在命令行界面输入 "java -version" 命令前,可以尝试在控制面板中查看是否有Java安装包。如果您没有安装Java,请访问Java官方网站下载适合您的 *** 作系统的Java安装程序。

检查您的环境变量是否设置正确

如果您已经安装了Java,但仍然遇到了 "未找到命令" 错误消息,请检查您的 *** 作系统的环境变量是否正确设置。在Windows *** 作系统上,您可以按下"Win+R"快捷键来打开运行窗口,然后输入 "sysdmcpl" 打开系统属性对话框,或者桌面我的电脑右键选择系统属性,在该对话框中选择 "高级" 选项卡,然后选择 "环境变量",找到 "Path" 变量,并添加Java安装路径到该变量中。

例如,在Windows *** 作系统上,默认的Java安装路径为 "C:\Program Files\Java\jdk180_121\bin",您可以在 "Path" 变量中添加 ";C:\Program Files\Java\jdk180_121\bin"。

检查Java的安装路径是否正确

如果您的计算机上已经正确安装了Java,并且环境变量也设置正确,但仍然遇到了 "未找到命令" 的错误消息,可能是由于Java安装路径不正确导致的。您可以检查Java的安装路径是否正确,并将其添加到系统环境变量的 "Path" 变量中。

如果以上解决方案都没有解决您的问题,请考虑重新安装Java并且确保安装路径正确,并将其添加到系统环境变量的 "Path" 变量中。

SpringBoot使用一个全局的配置文件,配置文件名是固定的;

配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML 是一个标记语言

标记语言:

以前的配置文件;大多都使用的是xxxxml文件

YAML:以数据为中心,比json、xml等更适合做配置文件

YAML:配置例子

XML:

k:(空格)v : 表示一对键值对(空格必须有)

以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的

属性和值也是大小写敏感;

k: v :字面直接来写;

字符串默认不用加上单引号或者双引号;

"" :双引号;不会转义字符串里面的特殊字符; 特殊字符会作为本身想表示的意思

name : "zhangsan \n lisi" :输出 : zhangsan 换行 lisi

'' :单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

name: 'zhangsan \n lisi' : 输出 ; zhangsan \n lisi

k: v : 在下一行来写对象的属性和值的关系 ;注意缩进

对象还是 k: v 的方式

行内写法:

用- 值表示数组中的一个元素

行内写法

配置文件

javaBean:

我们可以导入配置文件处理器,以后编写配置就有提示了

调整 图示:

配置文件yml还是properties他们都能获取到值;

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value

如果说,我们专门编写一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties

@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效

SpringBoot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;

想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上

不来编写Spring的配置文件

Spring Boot推荐给容器添加组件的方式;推荐全注解的方式

1、配置类@Configuration------>Spring配置文件

2、使用@Bean给容器中添加组件

我们在主配置文件编写的时候,文件名可以是application-{profile}properties/yml

默认使用applicationproperties的配置

1、在配置文件中指定springprofilesactive=dev

2、在命令行:

java -jar spring-boot-02-configjar --springprofilesactive=dev;

可以直接在测试的时候,配置传入命令行参数

3虚拟机参数

-Dspringprofilesactive=dev

springboot 启动会扫描以下位置的applicationproperties或者applicationyml文件作为Spring Boot的默认配置文件

-file:/config/

-file:/

-classpath:/config/

-classpath:/

优先级由高到低,高优先级的配置会覆盖低优先级的配置

SpringBoot会从这四个位置加载主配置文件:互补配置

==我们还可以通过springconfiglocation来改变默认的配置文件位置==

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用互补配置;

java -jar spring-boot-02-configjar --springconfiglocation=G:/applicationproperties

==SpringBoot也可以从以下位置加载配置;优先级从高到低;高优先级的配置低优先级的配置,所有的配置会形成互补配置==

1命令行参数

2来自java:comp/env的JNDI属性

3java系统属性

4 *** 作系统环境变量

5RandomValuePropertySource配置的random属性值

==有jar包外箱jar包内进行寻找==

==优先加载带profile==

6jar包外部的application-{profile}properties 或 applicationyml(带springprofile)配置文件

7jar包内部的application-{profile}properties 或 applicationyml(带springprofile)配置文件

==再来加载不带profile==

8jar包外部的applicationproperties或者applicationyml(不带springprofile)配置文件

9jar包内部的applicationproperties或者applicationyml(不带springprofile)配置文件

精髓:

1》springboot启动会加载大量的自动配置类

2》我们看我们需要的功能有没有springboot默认写好的自动配置类

3》我们再来看这个自动配置类中到底配置了那些组件;(只要我们要用的组件有,我们就不需要再来配置了)

4》给容器中自动配置类添加组件的时候,会从properties类中获取某些属性,我们就可以在配置文件中指定这些属性的值

第一步:下载并安装JDK 60,安装路劲为: C:\java\jdk16

第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,d出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\java\jdk16";如果存在"PATH"变量名,按编辑,在变量值最前面输入"C:\java\jdk16\bin;"(注意以分号结尾,没有引号如果没有"PATH",点击新建一个"PATH"变量名,变量值一样)

第三步:单击Windows xp的“开始”->“运行”,在d出的运行窗口中输入cmd,按回车,打开一个命令行窗口,输入javac,将会看见一系列javac常用参数选项 恭喜你java环境安装成功了

第四步:开始编程(注意先双击打开"我的电脑",在"工具" ->"文件夹选项" -> 点击"查看"选项 ->在"高级设置"中找到"隐藏已知文件类型的扩展名"前面的小勾去掉)。在C盘的根目录中新建一个子目录,名为"JavaTest”,以作为存放 Java源代码的地方。在JavaTest文件夹中,新建文本文档, 把“新建 文本文档txt”改为"HelloWorldjava"。用记事本打开"HelloWorldjava", 输入:

public class HelloWorld {

public static void main(String[] args) {

Systemoutprintln("Hello, world!");

Systemoutprintln("恭喜你成功运行了第一个java应用程序!");

}

}

注意源文件名必须与类名相同,且类修饰符为public,文件名后缀为"java"保存文件

第五步:在命令行窗口中输入 cd C:\JavaTest,将当前路径转入JavaTest目录中。然后,输入 javac HelloWorldjava,JDK就在JavaTest文件夹中编译生成一个HelloWorldclass的类文件。

第六步:在命令行窗口中输入 java HelloWorld,(注意没有class后缀)屏幕出现了

Hello world!

恭喜你成功运行了第一个java应用程序!

表示成功了,也就顺利地编译及运行了第一个Java应用程序。

Java十步成为大神

对面向对象原则有较强的基础和理解

作为一个Java开发者,对于面向对象编码深刻理解是一个很有必要的前提。 如果没有面向对象的程序设计系统的坚实基础,就无法实现像Java这样的面向对象编程语言的美妙之处。如果你不能理解面向对象的程序设计系统的独到之处即使你使用面向对象的语言,你也可能知识用一种走流程的方法在编写代码。仅学习面向对象原则的定义是远远不够的。

我们应该知道在以面向对象的方式设计解决方案时如何应用这些原则。所以,我们应该深刻理解对象建模、继承、多态、设计模式等等。

2精通核心APIs

如果你不知道这个语言的构造和核心APIS,无论你有多强的理论知识都是不重要的。就Java举个例子,你应该有使用像javalang、I/0流、异常、集合、generics、多线程、JDBC等核心APIs的丰富实际 *** 作经验。当开始构建网络应用的时候,无论你使用什么框架,知道servlet和JSPs的概念也是非常重要的。

3保持编码

很多事情说起来简单。在理论上,我们可以轻松的得到一个问题的解决方法。但是当我们开始实现自己的方法,我们会意识到问题的难处,你会想到这个语言的缺陷,或者设计更好的解决办法。所以请保持编码。

4关注论坛

我们并不孤独,有很多人从事着与我们正在从事的一样的技术。当使用一个框架实现一个简单的证明并不能给你带来任何挑战的时候,当你开始在一个真正的项目中使用它的时候,你会面临怪异的问题,并且在离线文档中找不到任何解决方法。

当开始从事新技术,最好的、最先做的事情应该是关注相关技术的论坛。无论你正在面临什么问题,世界的另一端可能也有人曾经遇到过这个问题,并且已经解决了。并且如果你可以解决这个论坛其他使用者的问题那再好不过了。

5关注博客并做出回应

世界上有成千上万的技 术爱好者通过写博客的方式发布自己对于技术的见解。你可以从其他开发者或者他们的博客上面获得关于同样技术的有价值的理解。有的人发现特殊的框架属性可以 有额外的最用同时有的人发现这些特性是愚蠢且无意 义的,并给出自己的理由来解释为什么他会这样认为。

所以你可以获得其他开发者使用这些工具好的和不好的观点。另一个看别人博客的取收获是评论和回应你自己的观点和问题。

6阅读开源框架的源码

一个好的开发者应该知道如何使用一个框架。但是如果你想要成为一个杰出的开发者,你应该学习各式各样成功的、流行的框架的源码,在这里你可以看到框架内部的实现机理和最好的应用案例。这是非常有帮助的,当你想要用更高效的方法去使用这个框架。

7了解新兴技术趋势

就开源软件开发趋势而言,它们正在迅猛增长。当你在使用一个特殊的框架上面获得了一个好主意,它可能会因为一些带有超功能集的新框架的出现而过时。然后你正在致力于解决的问题可能已经被新框架用几行简单的配置就解决了。所以请关注什么将会改变,什么已经过时。

8将常用的代码片段/实用程序放在手边

随着时间的流逝,需要写/复制-粘贴相同的代码/配置一遍又一遍。保留这些配置片段,如:log4properties、JDBC配置等和实用程序,如:StringUtils、ReflectionUtils、DBUtils是非常有帮助的。这本书并不会帮助你成为杰出的开发者。但是你可以想一下,一个同事想让你帮他从对象集合中获取属性值的列表,然后你使用你的ReflectionUtil并且花费很少的时间就得到了结果。这回让你很出色。

9了解不同的开发方法

熟悉各种方法,如敏捷开发(Agile)、并行开发(SCRUM)、极限编程(XP)和瀑布模型(Waterfall )等。现如今,选择开发方式取决于客户。有的客户更倾向于敏捷开发,有的乐于使用瀑布模型。所以对各种开发方式都有了解是很大的提分项。

10使用文档/博客,将你对技术的想法记录下来

一天天的工作中,你应该学会新的或者刚好的做事的方法、最好的实践或者算法思想等。记录下这些思想,写出关于它们的博客,分享(不分享也行)它们到社区。想象一下,在执行一个简单的POC时解决了一个奇怪的问题,并为此写了一篇博客。

也许世界上其他地方的开发人员在生产部署的应用程序上也面临着同样的问题。想想这个解决方案对开发人员是多么有价值。所以,把你的想法写在博客上吧,也许有一天它们会对别人或你自己有所帮助!

以上就是关于windows下tomcat启动脚本中如何设置系统属性(类似JAVA_OPTS)全部的内容,包括:windows下tomcat启动脚本中如何设置系统属性(类似JAVA_OPTS)、JVM调优常用指令之jinfo、JAVA的环境变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9805278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存