いろいろ試行錯誤

調べものしたときの覚書きや、仕事でコーディングした時のメモ などなど…

EclipseでJava実行時のProxy設定

Eclipse上でGoogleAppEngine(Java)の実行をすると、下記のようなエラーが出た。

Unable to access http://appengine.google.com/api/updatecheck?runtime=java&release=1.7.5&timestamp=...&api_versions=['1.0']

原因

社内ではProxyサーバを経由してWebアクセスすることになっているのだけど、
実行時に、GAEのAPIアップデートチェックが走ってWebアクセスに失敗しているらしい。

対策

  1. プロジェクトを右クリック → 実行 > 実行の構成 を開く
  2. 引数タブ > VM引数 に下記を追加
-Dhttp.proxyHost=PROXYホスト名 -Dhttp.proxyPort=PROXYポート

※太字は適宜変更
f:id:k-kitaoka:20130308145831p:plain

でも!

上記設定したら、ローカルサーバとのアクセスにもProxy経由してエラーになってしまう。。。
なので、更に↓の引数も追加。

-Dhttp.nonProxyHosts=127.0.0.1

Windows7、IIS7.5、VS2010 でASP.NETを動作させる

IISの有効化

IISASP.NETアプリケーションを実行できるよう、機能を有効化する。

  1. コントロールパネル → プログラム → Windowsの機能の有効化または無効化を選択
  2. インターネットインフォメーションサービス > web管理ツール > IIS6と互換性のある管理 以下を全てチェック
  3. インターネットインフォメーションサービス > World Wide Web サービス > アプリケーション開発機能 以下 「.NET 拡張機能」「ASP.NET」にチェック

f:id:k-kitaoka:20130304100955p:plain

IISの環境設定

基本認証の設定について web.config で設定の上書きを許可するよう修正する。

  1. %SYSTEMROOT%\System32\inetsrv\config\applicationHost.config (うちの場合は%SYSTEMROOT% = C:\Windows)をコピーしてバックアップを取る
  2. applicationHost.config をエディタで開いて、下記のとおり修正
...
<sectionGroup name="authentication">
    <section name="anonymousAuthentication" overrideModeDefault="Allow" />
    <section name="basicAuthentication" overrideModeDefault="Allow" />
    ...

※参考:認証の設定によるアクセス制限 - Web/DB プログラミング徹底解説

インターネットインフォメーションサービス

  1. スタートメニュー → すべてのプログラム → 管理ツール → インターネットインフォメーションサービス(IIS)マネージャ を選択
  2. アプリケーションプールの「DefaultAppPool」の.NET Frameworkのバージョンを4.0に設定
  3. サイト > Default Web Site を右クリックして「アプリケーションの追加」を選択
  4. エイリアス、フォルダを設定してOKボタンクリック

アプリケーションフォルダにアクセス権を設定

アプリケーションフォルダをIISにより読み取りできるよう設定する。

  1. 上記アプリケーションフォルダを右クリック → アクセス許可の編集 → セキュリティタブを選択
  2. 「コンピュータ名\IIS_IUSRS」を追加 → 「読み取りと実行」の権限を与える
  3. 「コンピュータ名\IUSR」を追加 → 「読み取りと実行」の権限を与える

※必要に応じて書き込み権限を追加する

VS2010コンソールアプリケーションでLog4net

VS(VisualStudio)2010 でコンソールアプリケーションを作成した場合、Log4net を適用すると参照エラーが発生する。

原因

Log4net が、「.NET Framework 4 Client Profile」に対応していなため。
なぜか、VS2010 でコンソールアプリケーションを新規作成すると、デフォルトで「.NET Framework 4 Client Profile」が選択されている。
なぜエラーになるのかは「警告」欄に出ているのだけど、表示していないとなかなか気付かない。

対策

プロジェクトのプロパティを表示して、[アプリケーション]タブの[対象のフレームワーク]を「.NET Framework 4」に変更して保存。

root の初期パスワード

初期状態では、パスワードが設定されていないもよう。

SSH(puttyとか)で接続して、下記コマンドを打つと root になれる。

[ec2-user@xxx ~]$ sudo su -

この状態で、パスワードを設定しておく。

Eclipse3.6(Helios) → 4.2(Juno)アップ時のエラー

Eclipse のバージョンを 3.6(Helios) から 4.2(Juno) に上げた。
そしたら、☟のエラーが出た。

gae java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.

紛らわしい JRE を全てアンインストールして、
新規に Java SE Downloads から JDK1.6 をダウンロード。
Eclipse.ini の設定を eclipse.ini - Eclipsepedia で書いてある通り、JavaVM の設定を追加。

 -startup
 plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
 --launcher.library
 plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
 -product
 org.eclipse.epp.package.java.product
 --launcher.defaultAction
 openFile
 --launcher.XXMaxPermSize
 256M
 -showsplash
 org.eclipse.platform
 --launcher.XXMaxPermSize
 256m
 --launcher.defaultAction
 <b>openFile
 -vm
 C:\Java\JDK\1.6\bin\javaw.exe</b>
 -vmargs
 -Dosgi.requiredJavaVersion=1.5
 -Xms40m
 -Xmx1024m

すると、今度は☟のエラーが発生。

org.tmatesoft.svn.core.SVNErrorMessage.initCause

eclipseでSVNErrorMessage.initCauseエラー(その2) - ええやんブログの記事に従って、SVN Connectors をインストールする。
Eclipse のメニューから[ヘルプ]>[新規ソフトウェアのインストール]を選択。
作業対象に☟を設定。

Subversive - http://community.polarion.com/projects/subversive/download/eclipse/3.0/juno-site/

すると一覧に「SVNKit 1.3.8 実装(オプション)」というのがあるので、チェックしてインストール。
f:id:k-kitaoka:20130208115047p:plain

促されるがまま再起動したら上手くいきました♬

SPREAD for ASP.NET で AjaxControlToolkit のバージョン違いでエラー

FarPoint.Web.Spread の Version=5.0.3523.2008 を使って開発しています。
で、下記のようにあるセルの入力にマスクを使おうとしたら、

Dim rgCellType As New FarPoint.Web.Spread.Extender.MaskedEditCellType()
rgCellType.Editor.BorderWidth = 0
rgCellType.ShowEditor = True
rgCellType.MaskType = AjaxControlToolkit.MaskedEditType.Number
rgCellType.Mask = "99-999-99"
rgCellType.ClearMaskOnLostFocus = False

エラーが出た。

ファイルまたはアセンブリ 'AjaxControlToolkit, Version=3.0.30930.28736, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外: 0x80131040)


原因は、運用環境で「ファイルまたはアセンブリ名 xxx、またはその依存関係の 1 つが読み込めませんでした。」エラーが発生する - .NET 製品共通 - ナレッジベースの詳細 | GrapeCity Developer Tools の「2.DLLファイルのアセンブリバージョンが異なる」が原因らしい。

AjaxControlToolkit のバージョンは、3.0.30930.28736 から変えてはいけないらしい・・・。

SPREAD for ASP.NET で キーマップを設定

FarPoint.Web.Spread.FpSpread のキー制御
 ○[→]/[Tab]キー:右セルへ移動(最終列まで)
 ○[←]キー:左セルへ移動(先頭列まで)
 ○[Ctrl]+[C]キー:アクティブセル(行全体でない)の内容をコピー