linux network eth0起動出来ない
networkNanagerとeth0が同時にブート出来なかった
一度ネットワークマネージャーを停止⇨eth0の起動とすると解決した⭐️
NetBeansのセットアップ方法
最近、NetBeansはEclipseよりわかりやすいという話を聞いた。。。
ならば、試してみようとなりました(笑)
ここのサイトを参考にセットアップ
まずは、ダウンロード →
https://netbeans.org/downloads/?pagelang=ja
インストーラを起動(基本的にそのまま「次へ」)
なぜかJDKは32ビットだったが、まぁ良し。
Glassfish(4.1.1)もセットでインストール...特に入力もなく終了
初期画面はこんな感じ
まずはMavenを使用できるようにしたい。。。
[ツール]-[オプション]から下記を開く
ダウンロードしてきたMavenを「参照」から指定する。
プロジェクトの作成は赤枠をクリック
プロジェクトが作成できたらサーバータブから起動
ソースはこんな感じ
アンドロイドアプリの開発も行けるらしい。
関連ページ
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Eclipse SceneBuilderを追加する
- JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
Java Basic
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
outputStyleSheetが効かない
<body>タグ内には
<h:outputStylesheet library="css" name="head.css"/>
と記載しているが出力されたソースには"RES_NOT_FOUND"が出力されている
いろいろ試し、たどり着いたのがこのサイト、テンプレートファイルに記載するときに
注意が必要に成る。下記のようにfacetを記載すると解決した。
<f:facet name="last">
<h:outpuStyleSheet library="css" name="head.css"/>
</f:face>
関連ページ一覧
- Tomcatサーバーをセットアップする(Eclipse)
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜
JSF1027: [null] JSF の ELResolver が JSP コンテナに登録されていません。
タイトルのエラー文言が原因だと思い込み、ELResolver関連の調査をしていたが
よく考えてみたら存在しないクラスをEL式で使用していました。
#{xxxx.getNum}... このクラスは使用していないので、削除したのでデプロイ時に参照されません、つまりビルドエラーでデプロイに失敗していました。。。。
persistent.xmlの書き方とテスト時の注意点
persistence.xml記述について
トランザクションタイプの指定について
JUnitと実際に起動するアプリケーションでpersistent.xmlを二つ用意する
・実際にソースでEntityManagerFactoryを作成するなどの方法
-
〜Java Basic関連〜
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜
JUnit Testing with JPA
1.testgフォルダを切る
2.persistence.xmlにプロパティをしていしてDBへの接続情報を設定する
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/postgres"/>
<property name="javax.persistence.jdbc.user" value="DBのユーザー"/>
<property name="javax.persistence.jdbc.password" value="パスワード"/>
<property name="eclipselink.ddl-generation" value="none"/>
<!-- ここの部分でテーブルの自動Create, Dropなどを設定する -->
<property name="eclipselink.id-validation" value="NONE"/>
</properties>
出力されたエラー
Internal Exception: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
だが、解決方法がわからない。調査したが「appserv-rt.jar」を追加してやれば
プロパティを読み込んでくれるらしいのだが.........
予想、
1.persistence-unitの名前がテストでない方のxmlと被ってプロパティが読めない…
→関係なかった......
色々と調べたが、SystemPropertyを取得したり、設定を行う必要があるみたいだ....
参考サイト
https://blogs.oracle.com/randystuph/entry/injecting_jndi_datasources_for_junit
JUnitでのテスト時には、サーバーを起動しないためtaransaction-type="RESOURCE-LOCAL"での実行になる → EntityManagerFactoryの読み込みが変わる
テストクラスで、実装したものを使用して実行する
やっぱり、NoInitialContextExceptionがでる......
・Mavenを使用しての単体テストではpropertyをソースから指定してやる。
persistence.xmlのプロパティを直接読み込む必要がある
PersistenceUnitProperties.プロパティ名を使用してPropertiesに値を設定→テスト
を繰り返したが.... ダメ
仕切り直し、下記のようにpersistence.xmlを書き直す。
<persistence-unit name="NoJta" transaction-type="RESOURCE_LOCAL">
<jta-data-source>jdbc/プロジェクト名</jta-data-source>
<class>エンティティクラス</class>
<properties>
<property name="persistenceXmlLocation" value="META-INF/persistence.xml" />
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/postgres"/>
<property name="javax.persistence.jdbc.user" value="ユーザー名"/>
<property name="javax.persistence.jdbc.password" value="パスワード"/>
<property name="eclipselink.ddl-generation" value="none"/>
<property name="eclipselink.id-validation" value="NONE"/>
</properties>
</persistence-unit>
テスト実行、エラーなし!!!!
今までの苦労がーーーーー!!
まぁ勉強になったけどね⭐️
このサイトは参考になりました。
-
〜Java Basic関連〜
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜
総称型のキャスト
List<? extends SampleIF> list = getSample();
***** ここでキャストを行いたい ******
下記のようなクラスへとキャストを行いたいがエラーがでる。
public class Customer implements SampleIF { ....}
>Cannot cast from Class<capture#1-of ? extends SampleIF> to SampleIF
現状、意図する解決策が見つからず、フツーにキャストを行う形でエラーを解消
ArrayList<Customer> cusList = new ArrayList<Customer>();
for (SampleIF smp : list) {
Customer cus = (Customer) smp;
cusList.add(cus);
}
うーむ、ラムダ式を使うべきだな,,,,
jpaのテストを実行したら、データが消えた
jpaでエンティティを作成しいざテスト...
エラーはないがデータが取得できない、0件取得だった
データはDBに登録したけれどはて?......
DBを確認する...データがない、DROPされてる?
persistence.xmlで
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
のような記述をしていたので、実行後、見事にデータが吹っ飛んでしまったというわけです。下記のように修正
<property name="eclipselink.ddl-generation" value="none"/>
データは無事だったが次は
[EL Warning]: 2016-02-06 21:13:22.41--UnitOfWork(2021601975)--Exception [EclipseLink-7197] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException
。。。。
[jp.zenryoku.frw.entity.MenuMST@65bcf7c2], primary key [0]. Set descriptors IdValidation or the "eclipselink.id-validation" property.
javax.persistence.RollbackException: Exception [EclipseLink-7197] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Null or zero primary key encountered in unit of work clone
のようなエラーが...
https://www.eclipse.org/forums/index.php/t/476633/
このサイトを参照して、一応解決したが,,,英語が読めるとよいのだが......
Mavenの使い方
eclipseとmavenを使用した開発が便利なのはわかるがやり方と考え方が。。。
調べたのでまとめておく
参考サイト:https://maven.apache.org/pom.html
1.mvn install コマンド
・pox.xmlに定義したライブラリをローカルリポジトリ(Mavenリポジトリ)
にインストール→開発プロジェクトから参照できるようになる
*自分の作成するものに関しては全角表示
pom.xml----------------------------------------------------------------------
<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>グループID</groupId>
<artifactId>アーティファクトID</artifactId>
<version>バージョン</version>
<packaging>出力するファイル形式(war, earなど)</packaging>
<description>説明書き</description>
<dependencies>
<!-- 追加したいライブラリ -->
<groupId>対象のライブラリグループID</groupId>
<artifactId>アーティファクトID</artifactId>
<version>バージョン</version>
</dependency>
</dependencies>
<repositories>
<!-- 参照するライブラリをインストールするリモートリポジトリ -->
<repository>
<!-- Primeface -->
<id>primefaces-repository</id>
<name>Primefaces repository</name>
<url>http://repository.primefaces.org</url>
</repository>
</repositories>
<!-- プラグイン -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
----------------------------------------------------------------------
2.mavenでのデプロイはdistributionManagementタグで追加
<
distributionManagement
>
<
repository
>
<
id
>deploy-repository</
id
>
<
name
>deployRepository</
name
>
</
repository
>
</
distributionManagement
>
ここまで来て、エラーが解消できなかったが。。。
「Could not find artifact....」とのエラーは
<projectタグ直下の<argifactId>を修正し、faces-config.pagefllowファイルのcinfigfileの値を修正したら解消できました。