Доступ к переменным из другой программы Java

Я делаю программу Java, которая переключается между двумя jar с помощью

Runtime.getRuntime().exec("cmd /c java -jar fileTwo.jar");

Но мне нужно class из одного jar, чтобы каким-то образом перенести значения string внутри него в class в другом jar. Поскольку эти два класса находятся в разных файлах jar, я не могу найти никаких методов, которые могли бы переносить string между двумя каталогами jar.

Если это поможет, я делаю программу, которая позволяет создавать и получать доступ к учетным записям. Вот почему мне нужно транспортировать strings, чтобы я мог хранить их в data class, чтобы использовать их в качестве ссылки для последующих входов в систему. Я должен использовать string, потому что char нельзя присвоить значение, полученное из метода jtfFirst.getText();, который является JTextField.


person Cardinal System    schedule 07.12.2015    source источник
comment
Если вам нужно, чтобы это было двунаправленным, используйте сокеты.   -  person Sarvadi    schedule 07.12.2015
comment
@Sarvadi, глядя на это пять лет спустя (с еще пятью годами опыта работы с Java), я гораздо больше ценю ваш комментарий.   -  person Cardinal System    schedule 07.12.2019


Ответы (2)


Пусть одна программа записывает строку в файл, а другая читает ее из файла. Вы также можете передать строку в качестве параметра командной строки второй программе. Скажем, s — это переменная со строкой. Затем вы можете выполнить "cmd /c java -jar fileTwo.jar \""+s+"\"". (заключить строку в кавычки, если она состоит из более чем одного слова). Строка будет доступна второй программе как args[1].

person DYZ    schedule 07.12.2015
comment
Вы можете передать его как массив строк. В случае нескольких строковых аргументов. - person Praveen Kumar; 07.12.2015

В jar у вас есть файл манифеста? Если он присутствует, чем экспортировать пакет, из которого вам нужно перенести значения строки «s», и импортировать этот пакет в файл манифеста jar, где вам нужно использовать значение этой строки «s». Все редактирование будет выполняться в его файле манифеста. Пример: для экспорта пакета используйте это: Export-Package: PackageFullPath Для импорта этого пакета используйте это: Import-Package: путь к пакету, используемый при экспорте.

person Community    schedule 07.12.2015