ライブラリのダウンロード

ダウンロードページ から、 OSやJavaのバージョンやJDKディストリビューターに合わせたモジュール をダウンロードして解凍します。

Note

Windows環境では、Windows10(64ビットバージョン)以降で動作します。 大抵の環境には、既にインストールされているはずですが、MSVCランタイム が必要です。

Mac環境では、OSXのバージョンが、12.3以降で動作します。x64とarm64(M1,M2 Mac)は別モジュールで提供していますので、注意してください。

JNIインターフェースを利用したライブラリ となります。

ライブラリのインストール

jar形式を利用できるパッケージマネージャーを利用します。本章では、よく利用する maven および gradle の利用設定ガイドを記します。
利用にあたり、(インターネット上のMavenCentral等のパブリックレポジトリには登録していませんし、出来ませんので、) Mavenの場合、ローカルレポジトリにjarを登録する必要 があります。

Important

OSBXLの利用の仕方に依存しますが、JavaVMのメモリ設定の推奨値は、以下が推奨設定です。(既存環境をお持ちの方は、既存の設定に、以下の設定値を足した値を設定することをを推奨します)
ヒープメモリの最小値を設定します。
  • JDK8,17,21: -Xms512m

  • JDK11: -Xms768m

以下のページに、よく使われている MavenGradle を用いたライブラリ利用方法について記述します。

Apache Maven を利用したライブラリのインストール方法

次のコマンドをシェルまたはコマンドプロンプトから実行してください。PCのMavenローカルレポジトリにOSBXLをインストールします。

mvn install:install-file -Dfile="ダウンロードして解凍したOSBXLのjarファイルのファイルパス" -DgroupId="com.osboffice.osbxl" -DartifactId="osbxl" -Dversion="1.1.0" -Dpackaging=jar

Note

このコマンドで、groupIdが com.osboffice.osbxl artifactIdが osbxl versionが 1.1.0 のjar としてPC上から認識可能となります。
また、バージョン1.1.0では、 javacpp(バージョン1.5.10) を利用しているので、これらもMavenの依存関係に追加する必要があります。
  • pom.xmlのサンプル

JUnitを利用したサンプルです。雛形としてお使いください。

このサンプルでは、JUnitテスト時に、ライセンスファイルの環境変数を取得できるように、maven-surefire-pluginに設定を加えています。
(正確には、環境変数をパラメータとして渡しています)
JDKのバージョンや、次の章で説明するライセンスファイルの環境変数は、修正してご利用ください。

デモバージョンを利用の方は、OSB_LICENSE_PATH_JAVA項目は消してご利用ください。
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<!-- groupId,artifactId,versionをご自身の環境合わせて修正ください -->
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>

<name>demo</name>
<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
   <!-- ライブラリ依存関係を追加します -->
   <dependency>
      <groupId>com.osboffice.osbxl</groupId>
      <artifactId>osbxl</artifactId>
      <version>1.1.0</version>
   </dependency>
   <!-- ライブラリ依存関係を追加します(必ず記述してください) -->
   <dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>javacpp</artifactId>
      <version>1.5.10</version>
   </dependency>
   <!-- JUnitをテストのライブラとして利用の場合 -->
   <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
   </dependency>
</dependencies>

<build>
   <sourceDirectory>src/main/java</sourceDirectory>
   <plugins>
      <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
         <!-- sourceおよびtargetにJDKのバージョンを設定します -->
         <source>21</source>
         <target>21</target>
         <showWarnings>true</showWarnings>
         <encoding>UTF-8</encoding>
      </configuration>
      </plugin>
      <plugin>
      <!-- maven-surefire-pluginを利用します -->
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.1.2</version>
      <configuration>
         <!-- ヒープメモリ設定です。JDKのバージョンに合わせた値を設定してください -->
         <argLine>-Xms512m</argLine>
         <!-- プロセスのフォーク設定(JNI関連でJUnit実行時に必要です) -->
         <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
         <junitArtifactName>junit:junit</junitArtifactName>
         <encoding>UTF-8</encoding>
         <inputEncoding>UTF-8</inputEncoding>
         <outputEncoding>UTF-8</outputEncoding>
         <argLine>-Dfile.encoding=UTF-8</argLine>
         <systemPropertyVariables>
            <!-- OSB_LICENSE_PATH_JAVAに、ライセンスのファイルパスを設定します。Mavenのテストでは必要です。 -->
            <OSB_LICENSE_PATH_JAVA>/home/xxx/lic_java.osb</OSB_LICENSE_PATH_JAVA>
         </systemPropertyVariables>
      </configuration>
      </plugin>
   </plugins>
</build>
</project>

Note

  • JUnit等、Maven上でJavaプロセスを利用する際に、 プロセスのフォーク設定 が必要です。

  • ライセンスをご購入の方は、 ライセンスのファイルパス環境ファイル設定 が必要です。

  • ヒープメモリの設定値は、 ライブラリのインストール方法 ページを参考にしてください。

  • OSBXLの依存ライブラリの javacpp の追加を忘れないでください。

Gradle を利用したライブラリのインストール方法

以下に、Gradleからの利用方法を記述します。

Note

レポジトリの設定に FlatDir を追加することを推奨します。(flatDirは特定のディレクトリをjarの参照パスに加える形式です)
参照ディレクトリに、OSBXLのjarを配置します。
  • build.gradle.kts(kotlinで記述されたbuild.gradle)のサンプル

以下のサンプルのGradlleのバージョンは、 8.4 です。

Mavenのサンプル同様、JUnitを利用できるサンプルです。雛形としてお使いください。

JDKのバージョンやパッケージ名は適宜変えてください。

OSBXLは、 javacpp(バージョン1.5.10) を利用しているので、依存関係に追加しmavenCentralからダウンロードさせます。

srcフォルダと同階層にlibsフォルダを作り、OSBXLのjarをコピーします。
(OSBXLサイトからJDKに合わせたファイルをダウンロードし、あらかじめ解凍およびコピーをしておいてください。)
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java application project to get you started.
* For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation.
*/

plugins {
   // Apply the application plugin to add support for building a CLI application in Java.
   application
   java // testに必要です。記述してください
}

repositories {
   mavenCentral()

   flatDir { // flatDirを用いる場合、記述します。
      dirs("libs") //srcフォルダと同階層にlibsフォルダを作り、ダウンロードしたOSBXLのjarのコピーが必要です。
   }
}

dependencies {
   // Use JUnit test framework.
   testImplementation("junit:junit:4.13.2")

   // This dependency is used by the application.
   implementation("com.google.guava:guava:32.1.1-jre")

   implementation("org.bytedeco:javacpp:1.5.10") // 依存関係を追加します。
   implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) // 依存関係を追加します。(libsディレクトリのjarを全て追加します)
}

// Apply a specific Java toolchain to ease working on different environments.
java {
   toolchain {
      languageVersion.set(JavaLanguageVersion.of(17)) // JDKのバージョンに合わせて変えてください。
      vendor = JvmVendorSpec.ADOPTIUM // JVMのベンダーを設定します。参考: https://docs.gradle.org/current/javadoc/org/gradle/jvm/toolchain/JvmVendorSpec.html
   }
}

application {
   // Define the main class for the application.
   mainClass.set("xxx.App") // 適宜変えてください
}

// 以下、testに必要です。記述してください。並列実行数に関する設定です。
tasks.test {
   maxParallelForks = 4 // JDK11利用の場合は、1にすることをお勧めします。
}

// 以下、ヒープメモリ設定の例です。
tasks.withType<Test> {
   minHeapSize = "512m"
}

Note

  • ヒープメモリの設定値は、 ライブラリのインストール方法 ページを参考にしてください。

  • OSBXLの依存ライブラリの javacpp の追加を忘れないでください。

  • このサンプル(flatDir利用)は、srcフォルダと同階層にlibsフォルダを作り、ダウンロードしたOSBXLのjarのコピーが必要です。

ライブラリのアンインストール

MavenGradle で設定したローカルレポジトリからOSBXLのjarを削除することで完了します。
mavenを利用の場合、Linux,Macを利用の方は、以下のコマンドでライブラリのアンインストールが可能です。
rm -rf ~/.m2/repository/com/osboffice
mavenを利用の場合、Windowsを利用の方は、
利用ユーザーのルートディレクトリ(通常 C:/Users/ユーザー名)以下に .m2 フォルダがあるので、そのフォルダ以下の
  • repository/com/osbofficeフォルダ

を削除してください。

gradleを利用(上述のflatDir形式)の場合、配置したOSBXLのjar(設定ファイルに記述したディレクトリに存在)を削除してください。