一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java隨手筆記8之包、環境變量和訪問控制及maven profile實現多環境打包

Java隨手筆記8之包、環境變量和訪問控制及maven profile實現多環境打包

2020-03-03 18:35mrr JAVA教程

這篇文章主要介紹了Java隨手筆記8之包、環境變量和訪問控制及maven profile實現多環境打包的相關資料,需要的朋友可以參考下

一、java中的包

  Java利用包來組織代碼,一來使大型項目的代碼結構清晰,二來包是一個命名空間的劃分,即不同包中可以有相同名字的類,只需在在類名前加上包名即可區分它們。

  Package xxx 必須位于java文件除了注釋以外的第一行,用來指明當前文件中的類屬于哪一個包,如果沒有package語句,則該文件中的類都屬于默認包。

  Import xxx用來在當前java文件中導入不屬于當前包中的類,從而可以在當前文件中使用它們。

二、java中的環境變量

1.path

  環境變量其實就是一組變量(廢話),它的作用是給系統和應用程序提供參數。例如:path,它告訴系統和應用程序一些系統必備的程序的存儲位置,比如你要運行ipconfig命令,系統去哪里找它呢,就是通過path變量,把它所存儲的位置挨個找一遍,直到找到為止。

  在java中,當我們要運行java程序,在控制臺輸入java xxx時,java這個應用程序(exe文件)到哪里找呢?系統就得通過path,這樣就得把包含java這個應用程序的目錄拷貝到path環境變量中,這樣以后,再運行java xxx 就不會出現“‘java'不是內部或外部命令,也不是可運行的程序或批處理文件。”了。

2.classpath

  說完path,再來說說classpath,解決了java這個命令的問題,還有javac這個命令的問題,這里就牽扯到java中的包機制了。

  Java程序是由一個一個類構成的,類之間可以相互調用,還有一些java語言已經定義好的類,那么當程序要用到這些類的時候,去哪里找他們呢,這就需要classpath這個環境變量來指點迷津了。

  總結:classpath指明了類查找路徑,如果類沒有被打包,那就需要將其所在目錄添加到classpath中,如果類被打包為JAR文件,則需要將JAR文件的實際名稱寫清楚。

Classpath一般設置為“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”

  其中.代表當前目錄,%JAVA_HOME%代表java jdk的路徑。Dt.jar中主要是swing包中的各種控件類。Tools.jar中是各種工具類。

  當編譯器碰到import語句時,就開始在CLASSPATH所包含的目錄中查找。

  (參考:http://m.ythuaji.com.cn/Linux/2012-01/52713.htm

3.JAVA_HOME

  指明jdk的路徑

三、訪問權限控制

1.類成員的訪問控制

訪問控制符:public/protected/包訪問權限(無關鍵字即默認)/private

 

 

類本身

同包中的子類

不同包中的子類

同包中的非子類

不同包中的非子類

      總之

public

可以

可以

可以

可以

可以

都可以

private

可以

不可以

不可以

不可以

不可以

僅自身可見

default

可以

可以

不可以

可以

不可以

僅同包可見

protected

可以

可以

可以

可以

不可以

子類或者同包可見

 

2.類的訪問控制權限

類只有兩種訪問控制權限:默認(即包訪問控制權限)和public

下面還有點時間,接著給大家介紹maven profile實現多環境打包

項目開發需要有多個環境,一般為開發,測試,預發,正式4個環境,通過maven可以實現按不同環境進行打包部署,命令為:
mvn package -P dev

其中“dev“為環境的變量id, 可以自己定義, 我定義的名稱為:dev,qa,pre,prod , 具體在pom.xml中的配置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  ......
  <profiles>
    <profile>
      <id>dev</id>
      <properties>
        <env>dev</env>
      </properties>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <id>qa</id>
      <properties>
        <env>qa</env>
      </properties>
    </profile>
    <profile>
      <id>pre</id>
      <properties>
        <env>pre</env>
      </properties>
    </profile>
    <profile>
      <id>prod</id>
      <properties>
        <env>prod</env>
      </properties>
    </profile>
  </profiles>
...... 
  <build>
    <filters>
      <filter>config/${env}.properties</filter>
    </filters>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    ......
  </build>
</project>

1.profiles定義了各個環境的變量id
2.filters中定義了變量配置文件的地址,其中地址中的環境變量就是上面profile中定義的值
3.resources中是定義哪些目錄下的文件會被配置文件中定義的變量替換,一般我們會把項目的配置文件放在src/main/resources下,像db,bean等,里面用到的變量在打包時就會根據filter中的變量配置替換成固定值

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天美传媒tm0065 | 免费xxxx日本大片在线观看 | 99视频在线看观免费 | 国产精品特黄毛片 | 猛吸奶水的老汉 | 国产成人精品免费午夜 | 成年男人永久免费看片 | 国产精品视频免费观看 | 欧美亚洲韩国 | 欧美亚洲激情在线 | 久久re视频这里精品一本到99 | 欧美视频在线一区二区三区 | 日出水了特别黄的视频 | 亚洲AV久久无码精品蜜桃 | 图片亚洲va欧美va国产综合 | 99爱免费| 国产免费丝袜调教视频 | 2012中文字幕中字视频 | 我和寂寞孕妇的性事 | mm131亚洲精品久久 | 日本三级在线观看免费 | 九九在线精品视频 | 婷婷综合亚洲 | 欧美一级片免费在线观看 | 好紧好爽再叫浪一点点潘金莲 | 欧美精品黑人巨大在线播放 | 99色亚洲| 韩国美女豪爽一级毛片 | 美女秘密网站 | 好逼365| 日韩成本大片35分钟免费播放 | 国产午夜精品理论片 | 国产成人刺激视频在线观看 | 玩两个少妇女邻居 | 四虎精品成人免费视频 | ange venus与黑人 | 456成人免费高清视频 | 久久国产乱子伦精品免费不卡 | 日韩一级欧美一级一级国产 | 天天操免费视频 | 全日爱韩国视频在线观看 |