16

私たちはしばらくの間Grailsを使用しており、現在いくつかのGrailsバージョンを使用しています。「古い」アプリをすぐに移行する必要はありませんが、新しい開発には新しいバージョンを使用することがよくあります。異なるバージョンのGrailsを実行している2つの関連プロジェクトで同時に作業しなければならないことがあるため、Windows環境変数の変更は不便です。

Linuxでは、おそらくラッパースクリプトまたはエイリアスを作成して、コマンドラインでバージョンスイッチを指定できるようにしますが、Grailsがこれをサポートしているとは思いません。

それを管理しているGrailsの複数のバージョンに対してコーディングする必要がある他の人はどうですか?

更新:および環境変数
を設定するためのgv.batファイルを作成しました。(ボックスに)環境変数を追加し、から参照を削除しました。GRAILS\_HOMEPATHGRAILS\_INSTALLSc:\usr\local\grails%GRAILS_HOME%\binPATH

gv.bat

@echo off
SET GRAILS_HOME=%GRAILS_INSTALLS%\grails-%1
SET PATH=%GRAILS_HOME%\bin;%PATH%

Grailsの作業を行うには、>gv1.1.2または使用する必要のあるバージョンを実行します。で文字列を置き換えて値を変更する方法を知りたいPATHのですが、それは私には難しいことがわかりました

4

10 に答える 10

10

使用しているバージョンに応じて GRAILS_HOME とシステム PATH を変更するバッチ ファイルがいくつかあります。

それはまったく最も美しい解決策ではありませんが、少なくとも私にとってはうまくいきます。

于 2009-11-24T17:17:56.243 に答える
6

以下のようなバッチファイルがあります。

@ECHO OFF

if "%1"=="231" goto grails231
if "%1"=="232" goto grails232
if "%1"=="233" goto grails233
if "%1"=="234" goto grails234


goto end

:grails231
set GRAILS_HOME=F:\softwares\grails-2.3.1
set PATH=%GRAILS_HOME%\bin;%PATH%
goto end

:grails232
set GRAILS_HOME=F:\softwares\grails-2.3.2
set PATH=%GRAILS_HOME%\bin;%PATH%
goto end


:grails233
set GRAILS_HOME=F:\softwares\grails-2.3.3
set PATH=%GRAILS_HOME%\bin;%PATH%
goto end

:grails234
set GRAILS_HOME=F:\softwares\grails-2.3.4
set PATH=%GRAILS_HOME%\bin;%PATH%
goto end

:end

「setgrails 233」のように実行でき、grails 2.3.3 を設定します。

于 2014-01-22T04:13:04.690 に答える
4

IntelliJ を使用すると、プロジェクトごとのファセット構成として適用する Grails のバージョンを指定できます。Eclipse プラグインは、まだこのレベルの抽象化を達成していません。

于 2009-11-24T19:56:45.207 に答える
3

私はあなたと同じ問題を抱えています。grails_version.bat念のため、Windows PATH ホームからアクセスできるバッチ スクリプト ( ) を作成しました。

GRAILS_HOME を標準の Grails バージョンに設定し、Grails アプリを標準バージョン以外の別のバージョンで実行するたびに、コマンド プロンプトを開き、バッチ スクリプト ( >grails_version) を実行して、grails コマンド (例: grails run-app) を実行します。

IntelliJ を使用している場合は、アプリケーションごとに grails のバージョンを構成できます。

コードは次のとおりです。

@echo off

set v11=1.1
set v111=1.1.1
set v12M2=1.2-M2
set v12M3=1.2-M3
set v12M4=1.2-M4
set /p grails_version= What is the grails version (%v11%, %v111%, %v12M2%, %v12M3% (default), %v12M4%)?
if "%grails_version%" == "%v11%" goto :set_grails_home 
if "%grails_version%" == "%v111%" goto :set_grails_home 
if "%grails_version%" == "%v12M2%" goto :set_grails_home 
if "%grails_version%" == "%v12M3%" goto :set_grails_home 
if "%grails_version%" == "%v12M4%" goto :set_grails_home 
if "%grails_version%" == "" goto :set_grails_home_default 

:no_valid_input
echo The input version is not valid
exit

:set_grails_home_default
set grails_version=%v12M3%

:set_grails_home
set GRAILS_HOME=D:\Install\grails\grails-%grails_version%
path = %GRAILS_HOME%\bin;%PATH%
echo GRAILS_HOME=%GRAILS_HOME%

楽しみ。

于 2009-11-25T00:21:38.263 に答える
3

それは今ではずっと後になっており、GVM はかつてのようなツールではありません。代わりに、SDKMAN ( https://sdkman.io/ ) を使用し、Windows で Linux のようなツールを取得するか、Cygwin を使用するなどして、Windows にインストールできます。

------ 以下の古い回答 ------

GVM は、UNIX/Mac 環境が Groovy/Gradle/Grails/more バージョンを管理するためのツールであり、誰かがついに Posh-gvm (Power-shell GVM の略) と呼ばれる Windows の同等物を作成しました。これらのツールのバージョンに関係なく、いつでも使用したい環境をダウンロードして構成するのに非常に便利で使いやすいです。

IDE を使用している場合でも、新しいバージョンがリリースされたときに posh-gvm を使用してダウンロード/インストールすることをお勧めします。IDE は posh-gvm インストール ディレクトリを指すことができます。

于 2014-12-15T03:13:29.527 に答える
2

私は以下のようにWindowsでそれを行います。

ここに画像の説明を入力

ここに画像の説明を入力

そのため、GRAILS_VER 環境変数を変更するだけです。grails のバージョンはいつでも変更できます。

ここに画像の説明を入力

于 2016-11-22T05:48:27.207 に答える
1

これらの回答について私が変更したいのは、PATH の処理です。スクリプトを実行してバージョンを変更するたびに、パスをもう 1 ノード拡張します。それは機能しますが、面倒です。JAVA_HOME または GRAILS_HOME への参照なしで $path2 を作成してみてください。パスは path2+grails+java になります。例: PATH="%PATH2%;F:\softwares\grails-2.3.1;path2java7 を設定します。

Java7 リファレンスを追加する唯一の理由は、古い grails アプリには Java 6 が必要であり、新しい grails には Java 7 が必要だからです。

于 2014-07-25T17:22:02.603 に答える
1

Linux/Mac では、GVMは Grails や Groovy などの複数のバージョンをインストールして操作するための優れたツールです。Windows 1ではGVM 自体を使用できませんが、Windowsの Powershellで実行されるクローンposh-gvmがあります。 .

  1. 私の知る限り、これはWindowsがシンボリックリンクをサポートしていないためです
于 2014-07-24T15:48:07.637 に答える
0

このリンクをチェックしてください。cygwin を使用して複数のエイリアスをマッピングする方法が正確に説明されています。

また、plugins ディレクトリがどのように機能するかを学び、Grails のバージョンごとに何度か複製してください。Tomcat、hibernate、dbUtil、console など、頻繁に使用するプラグインにはグローバル プラグインも使用します。

1.1 と 1.2M4 を切り替えたいとします。使用しているプラ​​グインでこれらのディレクトリをセットアップできます。

c:\Users\username\.grails\1.2-M4\projects\projectname\plugins

c:\Users\username\.grails\1.1.1\projects\projectname\plugins

次に、applications.groovy を取得して、次のようにいくつかのコピーを作成します。

application.groovy.1.1
application.groovy.1.2M4

さて、切り替えるには、application.groovy.X の名前を application.groovy に変更するだけで済みます (もちろん grails clean を実行した後):

grails1.1 run-app 
grails12M4 run-app

最後に、バージョン間には他にも違いがあります (つまり、新しい 1.2 では依存関係 DSL が導入されています) が、ほとんどの場合、後方互換性が十分にあるため、共通点を見つけることができます。

于 2009-11-24T21:42:24.760 に答える