Проблема компиляции Java на CentOS 5.6 - PullRequest
0 голосов
/ 24 мая 2011

Для Windows я просто использовал пакетный скрипт для компиляции моей программы:

@echo off
title Building...
echo Building Server - please wait...
echo ---------------------------------------

set javac="C:\Program Files\java\jdk1.6.0_24\bin\javac.exe"

set libs=bin;

set dirs=src\server\*.java
set dirs=%dirs% src\server\commands\*.java
set dirs=%dirs% src\server\components\*.java
set dirs=%dirs% src\server\item\*.java
set dirs=%dirs% src\server\net\*.java
set dirs=%dirs% src\server\randomevent\*.java
set dirs=%dirs% src\server\minigames\*.java
set dirs=%dirs% src\server\minigames\trawler\*.java
set dirs=%dirs% src\server\minigames\trawler\game\*.java
set dirs=%dirs% src\server\quests\*.java
set dirs=%dirs% src\server\skills\runecrafting\*.java
set dirs=%dirs% src\server\skills\slayer\*.java
set dirs=%dirs% src\server\tasks\*.java
set dirs=%dirs% src\server\tasks\net\*.java
set dirs=%dirs% src\server\threading\*.java

%javac% -classpath %libs% %dirs% -d bin
echo ---------------------------------------
title Buld complete.
echo Build complete.
pause

Все компилируется нормально. Поэтому я перенес свой проект на CentOS VPS и попытался скомпилировать сценарий bash

echo Building...
echo Building Server - please wait...
echo ---------------------------------------

libs=bin
dirs=src/server/*.java
dirs=$dirs src/server/commands/*.java
dirs=$dirs src/server/components/*.java
dirs=$dirs src/server/item/*.java
dirs=$dirs src/server/net/*.java
dirs=$dirs src/server/randomevent/*.java
dirs=$dirs src/server/minigames/*.java
dirs=$dirs src/server/minigames/trawler/*.java
dirs=$dirs src/server/minigames/trawler/game/*.java
dirs=$dirs src/server/quests/*.java
dirs=$dirs src/server/skills/runecrafting/*.java
dirs=$dirs src/server/skills/slayer/*.java
dirs=$dirs src/server/tasks/*.java
dirs=$dirs src/server/tasks/net/*.java
dirs=$dirs src/server/threading/*.java

javac -classpath $libs $dirs -d bin
echo ---------------------------------------
title Buld complete.
echo Build complete.

И я, должно быть, делаю что-то не так. Я получаю эти ошибки:

: command not founde 4:
: No such file or directory/server/commands/*.java
: No such file or directory/server/components/*.java
: No such file or directory/server/item/*.java
: No such file or directoryc/server/net/*.java
: No such file or directoryc/server/randomevent/*.java
: No such file or directoryc/server/minigames/*.java
: No such file or directoryc/server/minigames/trawler/*.java
: No such file or directoryc/server/minigames/trawler/game/*.java
: No such file or directoryc/server/quests/*.java
: No such file or directoryc/server/skills/runecrafting/*.java
: No such file or directoryc/server/skills/slayer/*.java
: No such file or directoryc/server/tasks/*.java
: No such file or directoryc/server/tasks/net/*.java
: No such file or directoryc/server/threading/*.java
: command not founde 21:
javac: invalid flag: src/server/*.java

Может ли кто-нибудь помочь мне понять, что я делаю не так? Есть ли синтаксическая ошибка?

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Не знаю, почему подстановочные знаки не расширяются, но строки dirs = не являются допустимым синтаксисом; вам нужно процитировать правую часть. Учитывая странные сообщения об ошибках, я бы спросил, использовался ли bash для выполнения скрипта. Вы уверены, что это так?

В любом случае, оу. Это безумный способ компилировать ваш код. Либо используйте Ant или make, и они сделают вашу жизнь намного проще.

1 голос
/ 24 мая 2011

Вам нужны кавычки справа от всех ваших заданий, например, <pre> dirs="$dirs src/server/commands/*.java"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...