程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java順手筆記8之包、情況變量和拜訪掌握及maven profile完成多情況打包

Java順手筆記8之包、情況變量和拜訪掌握及maven profile完成多情況打包

編輯:關於JAVA

Java順手筆記8之包、情況變量和拜訪掌握及maven profile完成多情況打包。本站提示廣大學習愛好者:(Java順手筆記8之包、情況變量和拜訪掌握及maven profile完成多情況打包)文章只能為提供參考,不一定能成為您想要的結果。以下是Java順手筆記8之包、情況變量和拜訪掌握及maven profile完成多情況打包正文


1、java中的包

  Java應用包來組織代碼,一來使年夜型項目標代碼構造清楚,二來包是一個定名空間的劃分,即分歧包中可以有雷同名字的類,只需在在類名前加上包名便可辨別它們。

  Package xxx 必需位於java文件除正文之外的第一行,用來指明以後文件中的類屬於哪個包,假如沒有package語句,則該文件中的類都屬於默許包。

  Import xxx用來在以後java文件中導入不屬於以後包中的類,從而可以在以後文件中應用它們。

2、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://www.linuxidc.com/Linux/2012-01/52713.htm)

3.JAVA_HOME

  指明jdk的途徑

3、拜訪權限掌握

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中的設置裝備擺設以下:

<?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中的變量設置裝備擺設調換成固定值

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved