Выполните другую банку в программе Java

Для выполнения этого запроса против DataContext класс необходимо будет сделать следующее:

MyDataContext db = new MyDataContext();
IEnumerable<DataRow> query = 
    (from order in db.Orders.AsEnumerable()
        select new
        {
            order.Property,
            order.Property2
        })
    as IEnumerable<DataRow>;
return query.CopyToDataTable<DataRow>();

Без as IEnumerable<DataRow>; Вы будете видеть следующую ошибку компиляции:

не Может неявно преобразовать тип 'Система. Наборы. Универсальный. IEnumerable' к 'Системе. Наборы. Универсальный. IEnumerable'. Явное преобразование существует (Вы скучаете по броску?)

107
задан Gavriel Cohen 3 April 2019 в 07:45
поделиться

3 ответа

.jar не исполняется. Создайте экземпляры классов или вызовите любой статический метод.

РЕДАКТИРОВАТЬ: Добавьте запись Main-Class при создании JAR.

> p.mf (содержимое p.mf)

Main-Class: pk.Test

>Test.java

package pk;
public class Test{
  public static void main(String []args){
    System.out.println("Hello from Test");
  }
}

Используйте класс Process и его методы,

public class Exec
{
   public static void main(String []args) throws Exception
    {
        Process ps=Runtime.getRuntime().exec(new String[]{"java","-jar","A.jar"});
        ps.waitFor();
        java.io.InputStream is=ps.getInputStream();
        byte b[]=new byte[is.available()];
        is.read(b,0,b.length);
        System.out.println(new String(b));
    }
}
25
ответ дан 24 November 2019 в 03:43
поделиться

Если вы используете java 1.6, то также можно сделать следующее:

import javax.tools.JavaCompiler; 
import javax.tools.ToolProvider; 

public class CompilerExample {

    public static void main(String[] args) {
        String fileToCompile = "/Users/rupas/VolatileExample.java";

        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

        int compilationResult = compiler.run(null, null, null, fileToCompile);

        if (compilationResult == 0) {
            System.out.println("Compilation is successful");
        } else {
            System.out.println("Compilation Failed");
        }
    }
}
-2
ответ дан 24 November 2019 в 03:43
поделиться

Если я правильно понял, похоже, вы хотите запускать jar-файлы в отдельном процессе изнутри вашего приложения с графическим интерфейсом Java.

Для этого вы можете использовать:

// Run a java app in a separate system process
Process proc = Runtime.getRuntime().exec("java -jar A.jar");
// Then retreive the process output
InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();

Всегда рекомендуется буферизовать вывод процесса.

62
ответ дан 24 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: