読みかけの技術ノート

やったこと、困ったこと、解決したこと、書いていきます。

VBScriptからWindowsのタスクを起動する

VBScriptからWindowsのタスクを起動する方法を調べたのでメモ。

タスクを起動する

taskCall.vbs

Option Explicit

Dim oTaskService
Dim oFolder
Dim oTask
Dim taskName

' 起動するタスクのタスク名を設定
taskName = "TestTask"

' タスクサービスオブジェクトの取得
Set oTaskService = CreateObject("Schedule.Service")
oTaskService.Connect
' 場所を指定してフォルダオブジェクトの取得
Set oFolder = oTaskService.GetFolder("\")
' タスク名を指定してタスクオブジェクトを取得
Set oTask  = oFolder.GetTask(taskName)
' タスク実行
oTask.Run ""

oTask.Runの引数は空白だが、ここに値を設定してタスクに引数を渡すこともできる。

メモリの増設(Lenovo G580)

ようやくメモリを8GBに

前々から実行したいと思っていたマシンのメモリ増設を今更ながら実施。 現在使用しているマシンは、2012年頃に買ったものなので、本当にようやく・・・

手順

以下のページの動画を参考にさせていただきました。 http://netlevelup.seesaa.net/article/280177268.html

結果

1度目は差し込みが甘かったようで認識してくれず、再度しっかり差し込んでみると無事認識。 やったね。

f:id:yomika414:20160304163232p:plain

Maven2-環境ごとの設定ファイル差し替え

背景

職場でビルドツールとしてMaven2を使用しているが、ビルド手順が環境によって変わり、ヒューマンエラーが起きやすい状態になっている。

  • 環境ごとに異なる設定ファイルを、環境ごとに用意されているバッチを選んで実行することで差し替えている。
  • バッチファイルは7個くらい
  • 単純にダサい…

調べてみたら、Maven2だとそれが設定次第で上手くやれるみたいなので、実際にやってみようという話。

環境

設定ファイル置き換え

参考サイト

http://www.techscore.com/tech/Java/ApacheJakarta/Maven/6/ http://kakakikikeke.blogspot.jp/2014/04/maven.html

概要

maven-war-pluginを導入し、pom.xmlprofilesタグ内で設定ファイルを切り替える。

環境ごとの設定ファイルを作成

それぞれ差し替えを確認できるように、内容を編集しておく。

C:\tmp\sample\src
resources
│
└─conf
    │  test.config(ここを差し替える)
    │  other.config
    │
    ├─dev(開発用)
    │      test.config
    │
    ├─real(本番用
    │      test.config
    │
    └─stg(ステージング用)
            test.config

pom.xmlの編集

  • idタグの値をmvn compile -P XXXの"XXX"で指定する。
  • 差し替えるファイルが配置されているフォルダを指定する。

    <!-- 環境設定ファイルの差し替え設定 -->
    

    dev dev stg stg real real

  • mvnのphaseがcompileの時のみ差し替えが実行される

  • directoryからoutputDirectoryへコピーされる。
  • 先に記述したほうが優先(最後に上書き)。
  • 前の項で設定したconfigFileDirectoryを使用して、差し替えに使用するフォルダ名に置換する。
  • 複数ファイルで実施したい場合は、incledeを使用したり、executionタグを複数設定する。参考

    <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <outputDirectory>target/classes</outputDirectory>
    
    <!-- confフォルダを出力に追加 -->
    <resources>
      <resource>
        <directory>src/resources</directory>
      </resource>
    </resources>
    
    <plugins>
    
      <!-- 設定ファイル差し替え用 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <!-- compile時のみ対象 -->
            <phase>compile</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>src/resources/conf/${configFileDirectory}</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
              <!-- コンパイル結果出力先のconf配下を差し替え -->
              <outputDirectory>target/classes/conf</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    
      ....
    
    </plugins>
    

実行

C:\tmp\sample>mvn clean compile -P real

中身を確認し、差し替わっているか確認する。

Maven2の使い方

背景

職場でMaven2を使用している。 Mavenをちゃんと理解する機会がこれまでなかったので、勉強する。

環境

導入

まずはMaven2の導入から

参考サイト:Maven2使い方メモ - Qiita

ダウンロード

Apache Maven
上記サイトのArchiveからapache-maven-2.2.1-bin.zipを取得

インストール

  • 解凍してできたディレクトリを適当な場所に配置する。 ここではCドライブ直下とする。

    C:\apache-maven-2.2.1  
    
  • パスを通す。

    • %M2_HOME% に C:\apache-maven-2.2.1
    • %PATH% に ;%M2_HOME%\bin を追加
  • 確認

    c:\>mvn -version
    Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
    Java version: 1.7.0_80
    Java home: C:\Program Files\Java\jdk1.7.0_80\jre
    Default locale: ja_JP, platform encoding: MS932
    OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows"
    

ローカルリポジトリの設定

%M2_HOME%/conf/settings.xmlを編集する。
localRepositoryタグのコメントアウトを外し、編集。
(デフォルトは{User}\.m2\repository

<localRepository>c:\.m2\repository</localRepository>

mavenプロジェクトを作成する

参考サイト

Maven Getting Started Guide http://maven.apache.org/guides/getting-started/index.html

雛形作成

作業フォルダをC:\tmpとする。

>cd c:\tmp
C:\tmp>mvn -B archetype:generate -DgroupId=com.example -DartifactId=sample

BUILD SUCCESSFULと出ればOK。

[INFO] Parameter: basedir, Value: c:\tmp
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: c:\tmp\sample
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15 seconds
[INFO] Finished at: Fri Mar 04 13:20:46 JST 2016
[INFO] Final Memory: 29M/348M
[INFO] ------------------------------------------------------------------------

確認

sample
 │  pom.xml
 │
 └─src
     ├─main
     │  └─java
     │      └─com
     │          └─example
     │                  App.java
     │
     └─test
         └─java
             └─com
                 └─example
                         AppTest.java

実装

コンパイル~テスト~配布用アーカイブ作成まで

コンパイル

c:\tmp\sample>mvn compile

テスト

c:\tmp\sample>mvn test

jar作成

c:\tmp\sample>mvn jar:jar

C:\tmp\sample\target配下にsample-10.jarが作成される。

配布用アーカイブ作成

c:\tmp\sample>mvn package

C:\tmp\sample\target配下にsample-1.0-executable.zipsample-1.0-executable.tar.gzが作成される。