2015-03-25 2 views
0

У меня есть Java-программа (1 .java-файл и 2 файла .class), которые я пытаюсь запустить. Мне было предложено использовать команду «java Downloader [-file filename] [-log log-file] [-host hostname] имя пользователя пароля GMAT-program-code» для запуска. Это прекрасно работает в командной строке. Но когда я пытаюсь запустить его в командной строке через coldfusion, он ничего не делает. Я не получаю сообщение об ошибке, но он также не создает никаких файлов/журналов. Я пробовал много вариантов, в том числе:Запустить программу java в ColdFusion9

<cfexecute name="#datadrop#\Downloader\jre1.5\bin\java.exe" arguments="java Downloader *username* *password* *test*" outputFile="#logs#\thisone.txt"></cfexecute> 
<cfexecute name="C:\Windows\System32\cmd.exe" arguments="c/ downloadscript.bat" outputFile = "filename.txt"></cfexecute> 
<cfexecute name="C:\Windows\System32\cmd.exe" arguments="c/ cd Downloader/src & Downloader *username* *password* *test*" outputFile = "#logs#/filename.txt"></cfexecute> 

Я сделал некоторые погуглите, и большинство документации показывает, чтобы сделать это с помощью cfobject. Я поместил 2 классов в папке Путь к классам и пытался осуществить это, выполнив:

<cfobject action="create" type="java" class="Downloader" name="pvdl"> 
<cfset pvdl.username="*username*"> 
<cfset pvdl.pword="*password*"> 
<cfset pvdl.test='*test*'> 

This ошибки, и говорит: Следующая информация предназначена для разработчиков веб-сайта для целей отладки. Ошибка при обработке запроса USERNAME

Может ли кто-нибудь помочь мне в запуске этой программы? Предпочтительным является использование командной строки.

Спасибо.

+0

Если это базовая загрузка, любая причина, по которой вы не можете использовать cfhttp? Тем не менее, пара предложений a) Что делает downloadcript.bat? b) Прямой контекст cfexecute может отличаться от ожидаемого. Лучше всего использовать абсолютные пути для * всех * ссылок на файлы. C) Использовали ли вы переменные ошибки для проверки проблем. И проверяли все файлы журнала CF. Cf_root \ logs и runtime \ logs. – Leigh

+0

* Ошибка при обработке запроса USERNAME * Трудно сказать без полное сообщение, но оно выглядит как неопределенная ошибка переменной. Кроме того, это не похоже, что вы передаете переменные объекту правильно. Обычно вы передаете аргументы в конкретный метод объекта, т. Е. 'Pvdl.someMethod (arg1, arg2, ....)'. Нам нужно будет увидеть, что подпись метода более конкретна. Имеет ли он публичный API? – Leigh

ответ

0

Извините, что это проблема. У меня есть вопрос. Когда вы говорите, Java-загрузчик вы ссылаетесь на это: JavaloaderHave you tried following this set of instructions on github?

Я работал с ним в прошлом, и то, что я помню, что вы берете файл банка и поместите его в пути javaloader где забрать его, когда вы создаете свой объект.

Вот очень надежный разговор о javaloader (прямо здесь, на SO): How to setup java libraries with javaloader in Coldfusion8?

И этот здесь: ColdFusion using Javaloader error

Вот хорошая структура я нашел, чтобы следовать:

<cfscript> 
variables.jarsPaths = ArrayNew(1); 
variables.jarPaths[1] = ExpandPath("poi/poi-3.9-20121203.jar"); 
variables.jl = CreateObject("component", "javaloader.JavaLoader").init(variables.jarPaths); 
</cfscript> 

Вот хорошая страница, на которой есть подсказки javaloader: http://www.mindfiresolutions.com/JavaLoader-in-Coldfusion-1328.php

В принципе, я думаю, что худшие из ваших проблем будут получать ваш путь в вашем объекте.

Надеюсь, что некоторые из этих вещей помогут.

Смежные вопросы