• 締切済み

LinuxのサーバサイドJavaをWindowsで開発できますか

サーバサイド以外でのJavaアプリと、PHP,MySQLでのWebアプリ開発の 経験があります。 この度、いよいよサーバサイドJavaでWebアプリを開発することにな りました。 与えられた環境はWebサーバにLinux/Apache、 DBサーバにWindows2000Server/SQLServer2000です。 この際勉強の意味合いもあり、EJBも使用したいと思っておりまして、 LinuxサーバでサーブレットコンテナとEJBコンテナを稼動させたいと思 っています。 そこでお伺いしたいのが、このようなWebアプリをWindowsで開発できる かについてです。 普通、開発環境はWindowsでということが多いと思うのです。ネットや 書籍を参照しても、Windowsで間発環境を構築している例が殆どのよう な気がします。 私も、普段開発で使用しているWindowsXPマシンで、 JBoss+Eclipse+Strutsの環境を構築し、開発したいと思っています。 きっとLinuxにも同じようにJbossをインストールということになるのだ と思うのですが、それにしても、開発環境=Windows、本番環境=Linux、 ということになり、開発と本番の環境が全く違うことになってしまうと 思うのです。 Javaはプラットフォームフリーなので気にしない、ということなのか、 そんなことない気がします。 サーバサイドに関しては初心者でして、根本的に的外れなことを言って しまっているかもしれません。 出だしから基本的なところで躓いてしまっていまして、何卒アドバイス をお願いいたします。

  • Java
  • 回答数4
  • ありがとう数5

みんなの回答

noname#86752
noname#86752
回答No.4

ほとんどそういう環境で仕事してます。 環境依存の部分をハードコーディングしなければ大丈夫だと思います。 既に指摘されている通り ・ファイルIO時の改行コード ・ファイルIO時の文字コード ・パス は注意してください。 それと文字化け。 jspに関しては ・chasetとpageEncodingを正しく設定する。 ・headのmetaの指定を行わない。 ・サーブレットフィルタで文字を変換する。 ・データベースもUNICODEにする。 ということを行うと文字化けがほぼ起きません。 これらの設定を行うとプログラムでは文字コードを意識せずに作ることができます。 クライアントがWindowsに限定できるならchatsetもpageEncodingもWindows-31Jにする(当然jspファイルもWindows-31Jで作成)ことをお勧めします。 それともしApacheを使うなら、ApacheのDefaultCharSetを指定しないようにしてください。

stpira
質問者

お礼

本当にありがとうございます。大変参考になります。 アドバイスいただきましたことを常に念頭に置いて開発にあたりたいと思います。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

一般的かどうかはわかりませんが、Unix系OSが本番機というのは、 なくはないですね。 うちのばあい、パス等依存しそうなところは、環境ファイルにしています。 とうぜん、環境ファイルそのもののパスも違ってきてしまうので(笑) それは、サーブレット初期化パラメータで設定するようにしています。 ファイルアクセス系以外のロジック部分は、変更しなくてもいけるようです。 あ、タグライブラリやJSP等の改行がcr+lf→lfになるので、それも実機に転送するとき注意かな。 サーバがunix系OSであっても、クライアントはSJIS環境(Windowsだってこと)だと思いますので、 可能であれば、サーバの文字セットも合わせられるのならばSJISにしておいた方が トラブルが少ないかもしれません。(どっちにしても'~'等は化けるんですが(^-^;)

stpira
質問者

お礼

ありがとうございます。 そうですね、文字コードも十分に気にする必要がありますね。 開発がWindowsで本番がLinuxという環境の方も結構いらっしゃるよう ですので、私もがんばってみます。

回答No.2

一般的かどうかは、自分もそんなに経験が多いわけではないので、いえませんが、 開発はWindows、本番はLinux という現場は何個か経験したことあります。 (でも「テスト環境」もLinuxでしたが…。) そのときはWindowsとLinuxのパス関係は全て設定ファイルにして、 Windows用、Linux用と2種類用意していました。 ご参考までに。

stpira
質問者

お礼

度々ありがとうございます。 とても参考になります。 がんばって勉強してみます。

回答No.1

ファイル区切り文字をハードコーディングしなければ大丈夫だと思いますよ。 System.getProperty("file.separator"); で取得するようにすれば。 もしくはパス関係は設定ファイルにして、 ・Windows環境用 ・Linux環境用 と2つ作るとか。

stpira
質問者

お礼

早速ご回答いただきましてありがとうございます。 System.getProperty について勉強してみます。 このような開発の方法は一般的ではないのかな、と悩んでしまいます。

関連するQ&A

  • Linuxでの開発について

    よく転職サイトでシステムエンジニアとかの募集でLinuxでの開発があることとありますが、実際はどういうことを指すのでしょうか? プログラマとしてJava(サーブレットやサーバサイド開発込み)やTeratermは使用したことがありますが、それとは別ものとはわかってても、じゃあ何?と聞かれると答えられません。 Linux環境での開発、これだと解る説明をください。

  • WindowsかLinuxでのiOSアプリ開発

    Windows利用者です。 Objective-CでiOSアプリの開発をしてみたいと考えているのですが、Windowsで開発環境を整えるのは手間がかかりそうですし、Macは持っていないので、Linuxで開発できないかと考えています。 (1)iOSアプリの開発をする場合、WindowsとLinuxのどちらが開発環境構築の手間がかからないでしょうか? (2)Linuxで開発する場合、どのOSだと開発しやすいでしょうか? 私が持っているのはUbuntuのみですが、Ubuntuよりも楽なOSがあるなら、そちらをインストールしようと思います。

  • サーバサイドJavaの「べからず集」

    サーバサイドJavaを構築するにあたってやってはいけないこと(「べからず集」的なもの)をまとめたサイトや書籍はないでしょうか?  例えば「サーブレット」でインスタンス変数を使用すると通常は問題ないが利用者がほぼ同時にアクセスすると利用者間で共有してしまうといったこと。開発を始めるにあたって未経験者への教育を行って不具合を未然に防ぎたいのです。 ※「@IT」は見ています。あそこはあまりにも記事が多すぎて「べからず集」という感じではないので他のページがあれば教えてください。  また、「サーバーサイドJavaアンチパターン 」という書籍はチェックしています。  よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVAのサーバープログラムの開発環境につい

    JAVAを学習しているのですが、JAVAのサーバープログラム・Webアプリケーションの開発に 当たって、どのような環境を構築すれば良いでしょうか? Tomcatだけで良いのか、とかがわかりません。。。 (eclipseがなくても開発環境を設定できるのかも聞きたいです。) あと、基礎知識はひと通り押さえたつもりなのですが、 JAVAでこれは身につけておくべき、という物があればお聞きしたいです。 返信が遅くなるかもしれませんが、宜しくお願い致します。

    • ベストアンサー
    • Java
  • サーバーサイドプログラムの開発

    perlやphpなどサーバーサイドプログラムが開発されたときの開発環境はなんですか? Mac環境で構築してみたいんですけど、それ用のアプリケーションはありますか? 私が言っているのは、perlやphp文書を書くのではなく、perlのラリー・ウォールのような開発のことです。

  • PHPの開発環境はLinuxが適当か

    WindowsXPの上でPHPの勉強を始めたばかりですが、将来はPHPプログラムを使ってWebに提供したいと考えています。その場合、レンタルサーバを使うか自宅サーバにするかは、まだ決まりません。質問ですが、ネット公開を前提で、やはりLinuxを使ってPHPの勉強を進めたほうが良いのでしょうか? 勉強(かつ開発)に使うLinuxとレンタルサーバのLinuxの商品(銘柄?)が異なって思わぬ不具合などが生じることはないのでしょうか? いわゆる開発環境と本番環境をWindowsとLinuxで使い分けている人も多いと聞きますが、使い分けるメリットは何でしょうか? くだらない質問かもしれませんが、諸々のご意見をいただければ参考にしたいです。よろしくお願いします。

    • ベストアンサー
    • PHP
  • windows上のeclipse開発環境からlinux上のjavaを動かすには

    いつもお世話になっております。 linux上でしか動かない一部C言語が使われているjavaの部品があります。 こちらをwindwosの開発環境から呼び出すしたいのですが、何か方法はありますでしょうか。 C言語の部品は他の業者が開発しており、windowsで動くようにしてもらうのは難しいです。 javaの部品は引数String型、戻り値String型になっています。 こちらをリモートで起動する事が出来ますでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • この便利な時代に開発環境すら構築できない人たちがいる

    JavaのWebアプリケーション開発を主に行っているフリーエンジニアです。 今日、仕事を紹介してもらった企業がこんな感じのようでした。 「 Webアプリケーションの開発環境の構築に大変苦労した。 苦労したので、次はJBossで行こうと思う。 なので、JBossに詳しいエンジニアを探している。 」 紹介したのは技術のことはよくわからないであろうコーディネーター(営業)さんなので、もしかしたら、先方の言っていることを理解できていなかっただけかもしれません。 が、文面を素直に受け取ったら、どうでしょう? 今の時代、Eclipseのプレアデスなど、開発環境は昔に比べてものすごく整っています。TOMCATだろうとOASだろうとJBossだろうと、何の苦労もなく、開発環境は整えられるでしょう。 昔は設定ファイルなども自分で書かなくてはならず、確かに苦労しました。 が、今の時代に、開発環境の構築に苦労するというのはおかしいと思います。 思わず、「素人集団ですね」と口走ってしまいました。 みなさんは、そんな開発会社があったら、どう思いますか?

    • ベストアンサー
    • Java
  • PHP開発環境 にJava開発環境を統合

    Eclipseを使用して、PHPの開発環境を構築しています。アンインストールせずに、Javaの開発環境を統合して構築することは可能でしょうか?そもそもEclipseはJava開発用であったためか、Java開発環境にPHP開発環境をプラグインしていることが多いようです。Windowsであるため、インストーラでインストールしたいと考えています。

    • ベストアンサー
    • Java
  • Linuxでゲーム開発

    Linuxで(具体的にはLindows)ゲームを作りたいと考えています。 LinuxはツールがいろいろあってVBのようなGUIの統合開発環境がないようなのですが、何か良いツールはないものでしょうか? VBのようなツールが欲しいと思うのですが、なければそれに近いようなものでも構いません。 kylixを勉強しようかなあーとも思いましたが、どうも初心者向けの書籍がなく、インストールしたままです。WideStudio本も買いましたが、どうもrubyやC++などが必要のようで・・・。 Javaっていう話もありますが、それならWindowsでもいいじゃんっ!って思えてしまってどうも踏み込めません。 みなさん、どうやってゲーム開発などをされているんでしょうね??? QTを使うためにGLADE入れて、gtk+やGCC・・・・んーーいろいろと使えるのがLinuxの良いところですけども、GUIアプリの統合開発環境ともなると、ううううううううううむ、です。_| ̄|○ ちょっとゲーム開発したいだけなのに。。。 いろいろありすぎ!!(×_×)