<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 1.認識plugin 告訴gradle某個項目是特殊的項目。比如java和android ## 2.定義java項目 ~~~ apply plugin: 'java' ~~~ 就一步就可以定義一個java項目。上面就是告訴gradle我需要你準備java項目所需的組件來滿足需求。 ## 3.java項目的目錄結構 存放java源碼的目錄:src/main/java ~~~ mkdir -p src/main/java ~~~ ![](https://box.kancloud.cn/2016-01-07_568e46651b9d1.jpg) 存放測試源碼的目錄:src/test/java ~~~ mkdir -p src/test/java ~~~ ![](https://box.kancloud.cn/2016-01-07_568e466536741.jpg) 存放jar包要包含的其他文件(例如資源文件)的目錄:src/main/resources 存放執行case需要的文件的目錄:src/test/resources 所有新生成的文件存放目錄:build 存放jar包目錄或者java項目自身壓縮后的jar包存放的目錄:build/libs (build目錄gradle會自己生成)。 ## 4.構建項目 使用gradle build命令 ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle build :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :assemble :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE :check UP-TO-DATE :build BUILD SUCCESSFUL Total time: 10.155 secs ~~~ 項目的根目錄下多了build目錄,build下多了libs和tmp兩個文件夾。 ![](https://box.kancloud.cn/2016-01-07_568e466551ac2.jpg) ## 5.清除上次的構建 使用命令 gradle clean ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle clean :clean BUILD SUCCESSFUL Total time: 3.764 secs ~~~ 會發現build目錄消失了。 ![](https://box.kancloud.cn/2016-01-07_568e466573fba.jpg) ## 6.只編譯java源碼,生成jar包。不執行測試 使用命令gradle assemble ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle assemble :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :assemble BUILD SUCCESSFUL Total time: 9.968 secs ~~~ 注意它和build的區別在于,執行只到:assemble就停止了,生成build目錄,而build還多了以下任務。 ~~~ :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE :check UP-TO-DATE :build ~~~ ## 7.編譯和測試代碼 ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle check :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE :check UP-TO-DATE BUILD SUCCESSFUL Total time: 2.854 secs ~~~ 只進行測試,不生成build目錄。 ## 8.擴展依賴-dependencies java項目一般會依賴外部jar包,之前我們都會通過maven獲取這些jar包。gradle也是這么做多。使用 ~~~ repositories ~~~ 任務來獲取maven中央庫。這是項目告訴gradle去什么地方找所需要的jar包。具體如下 ~~~ apply plugin: 'java' repositories{ mavenCentral() } ~~~ 在java編譯的時候,需要一些用到一些jar包。這個時候可以通過dependencies任務來指定這些依賴的jar包,構建項目的時候,gradle會去中央庫里下載這些jar包到本地 ~~~ apply plugin: 'java' repositories{ mavenCentral() } dependencies { compile group:'commons-collections',name:'commons-collections',version:'3.2' testCompile group:'junit',name:'junit',version:'4.0+' } ~~~ ## 9.定制項目 #### 修改MANIFEST.MF文件中的內容 ~~~ Manifest-Version: 1.0 ~~~ 給該文件添加一些熟悉 ~~~ apply plugin: 'java' repositories{ mavenCentral() } dependencies { compile group:'commons-collections',name:'commons-collections',version:'3.2' testCompile group:'junit',name:'junit',version:'4.0+' } sourceCompatibility = 1.5 version = '1.0' jar { manifest { attributes 'Implementation-Title':'Gradle Quickstart', 'Implementation-Version':version } } ~~~ 然后該文件的內容會添加2個屬性。而且生成的jar包也會多加了個后綴 ~~~ Manifest-Version: 1.0 Implementation-Title: Gradle Quickstart Implementation-Version: 1.0 ~~~ jar包名為:1228_1-1.0.jar 說明我們可以隨意的給任務添加屬性。 #### 給某一個任務添加一個系統屬性 ~~~ test { systemProperties 'property': 'value' } ~~~ 可以通過命令gradle properties來瀏覽所有的屬性 ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle properties :properties ------------------------------------------------------------ Root project ------------------------------------------------------------ allprojects: [root project '1228_1'] ant: org.gradle.api.internal.project.DefaultAntBuilder@310a7aa1 antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@26f8f92e archivesBaseName: 1228_1 artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@23af4eff asDynamicObject: org.gradle.api.internal.ExtensibleDynamicObject@4a6b59a6 assemble: task ':assemble' baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@4dcac775 binaries: [classes 'main', classes 'test'] build: task ':build' buildDependents: task ':buildDependents' buildDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build buildFile: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build.gradle buildNeeded: task ':buildNeeded' buildScriptSource: org.gradle.groovy.scripts.UriScriptSource@5e5064ba buildTasks: [build] buildscript: org.gradle.api.internal.initialization.DefaultScriptHandler@70051fb5 check: task ':check' childProjects: {} class: class org.gradle.api.internal.project.DefaultProject_Decorated classLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@6064dd87 classes: task ':classes' clean: task ':clean' compileJava: task ':compileJava' compileTestJava: task ':compileTestJava' components: [org.gradle.api.internal.java.JavaLibrary@7e0bfb81] configurationActions: org.gradle.configuration.project.DefaultProjectConfigurationActionContainer@44ad12cd configurations: [configuration ':archives', configuration ':compile', configuration ':default', configuration ':runtime', configuration ':testCompile', configuration ':testRuntime'] convention: org.gradle.api.internal.plugins.DefaultConvention@3ead73f4 defaultArtifacts: org.gradle.api.internal.plugins.DefaultArtifactPublicationSet_Decorated@6d97b851 defaultTasks: [] dependencies: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@3c6060d dependencyCacheDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/dependency-cache dependencyCacheDirName: dependency-cache depth: 0 description: null distsDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/distributions distsDirName: distributions docsDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/docs docsDirName: docs ext: org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension@3db7416a extensions: org.gradle.api.internal.plugins.DefaultConvention@3ead73f4 fileOperations: org.gradle.api.internal.file.DefaultFileOperations@4a27b5cd fileResolver: org.gradle.api.internal.file.BaseDirFileResolver@7510cbc3 gradle: build '1228_1' group: inheritedScope: org.gradle.api.internal.ExtensibleDynamicObject$InheritedDynamicObject@21b1ab40 jar: task ':jar' javadoc: task ':javadoc' libsDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/libs libsDirName: libs logger: org.gradle.api.logging.Logging$LoggerImpl@17620808 logging: org.gradle.logging.internal.DefaultLoggingManager@24fd5136 modelRegistry: org.gradle.model.internal.registry.DefaultModelRegistry@72dec332 module: org.gradle.api.internal.artifacts.ProjectBackedModule@5c92e1b3 name: 1228_1 parent: null parentIdentifier: null path: : plugins: [org.gradle.api.plugins.HelpTasksPlugin@5a1698f1, org.gradle.language.base.plugins.LifecycleBasePlugin@522f63e7, org.gradle.api.plugins.BasePlugin@2aa9233d, org.gradle.api.plugins.ReportingBasePlugin@2b040d5b, org.gradle.language.base.plugins.LanguageBasePlugin@7a96cf9, org.gradle.api.plugins.LegacyJavaComponentPlugin@6d3725a1, org.gradle.api.plugins.JavaBasePlugin@6d935671, org.gradle.api.plugins.JavaPlugin@1547cbc9] processOperations: org.gradle.api.internal.file.DefaultFileOperations@4a27b5cd processResources: task ':processResources' processTestResources: task ':processTestResources' project: root project '1228_1' projectDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1 projectEvaluationBroadcaster: ProjectEvaluationListener broadcast projectEvaluator: org.gradle.configuration.project.LifecycleProjectEvaluator@7ee14288 projectRegistry: org.gradle.api.internal.project.DefaultProjectRegistry@76d72fcb properties: {...} rebuildTasks: [clean, build] reporting: org.gradle.api.reporting.ReportingExtension_Decorated@2982f561 reportsDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/reports repositories: [org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated@54bbc891] resources: org.gradle.api.internal.resources.DefaultResourceHandler@746cd30c rootDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1 rootProject: root project '1228_1' runtimeClasspath: file collection scriptHandlerFactory: org.gradle.api.internal.initialization.DefaultScriptHandlerFactory@1493f48b scriptPluginFactory: org.gradle.configuration.DefaultScriptPluginFactory@7d9bdc3a serviceRegistryFactory: org.gradle.internal.service.scopes.ProjectScopeServices$5@397a443 services: ProjectScopeServices sourceCompatibility: 1.5 sourceSets: [source set 'main', source set 'test'] sources: [source set 'main', source set 'test'] standardOutputCapture: org.gradle.logging.internal.DefaultLoggingManager@24fd5136 state: project state 'EXECUTED' status: integration subprojects: [] targetCompatibility: 1.5 tasks: [task ':assemble', task ':build', task ':buildDependents', task ':buildNeeded', task ':check', task ':classes', task ':clean', task ':compileJava', task ':compileTestJava', task ':jar', task ':javadoc', task ':processResources', task ':processTestResources', task ':properties', task ':test', task ':testClasses'] test: task ':test' testClasses: task ':testClasses' testReportDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/reports/tests testReportDirName: tests testResultsDir: /Users/qianhui/Documents/Developer/gradle_project/1228_1/build/test-results testResultsDirName: test-results version: 1.0 BUILD SUCCESSFUL Total time: 3.311 secs ~~~ ## 10.發布項目 ~~~ sourceCompatibility = 1.5 version = '2.0' jar { manifest { attributes 'Implementation-Title':'Gradle Quickstart', 'Implementation-Version':version } } test { systemProperties 'property':'value' } uploadArchives { repositories { flatDir { dirs 'repos' } } } ~~~ 執行該task: ~~~ qianhuis-Mac-mini:1228_1 qianhui$ gradle uploadArchives :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :uploadArchives BUILD SUCCESSFUL Total time: 3.205 secs ~~~ 在項目根目錄下生成repos目錄,里面生成了可發布的jar包和xml文件等。 ![](https://box.kancloud.cn/2016-01-07_568e466589001.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看