目前正在Java中试验OpenGL.在NetBeans中运行以下测试代码几个周期后,我收到一个低内存错误,程序终止.在通过几个成功的循环运行应用程序后的某个时间出现问题.
为什么会发生这种情况?如何解决?
码:
package test3d;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.input.Keyboard;
class ColoredTriangle {
public void start() {
try {
Display.setFullscreen(true);
DisplayMode dm = new DisplayMode(34,34);
// Display.setDisplayMode(new DisplayMode(DisplayMode.get));
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
System.exit(0);
}
// Init OpenGL
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(-3, 3, -2.4, 2.4, -1, 1);
GL11.glRotatef(0.0f,5.0f,1.0f,0.0f);
//GL11.glOrtho(0, 640, 480, 0, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
boolean quit = false;
while (!quit) {
// Clear the screen.
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
//GL11.glFrontFace(GL11.GL_CCW);
// Begin drawing
GL11.glBegin(GL11.GL_QUADS); …Run Code Online (Sandbox Code Playgroud) 我有一个遵循标准目录布局的项目设置(虽然未使用Maven):
src/main
| java
| resources
| library.dll
Run Code Online (Sandbox Code Playgroud)
本机DLL位于resources文件夹中,源位于java文件夹中。resources文件夹是Java类路径的成员。
我现在想加载DLL,而不必设置JRE -Djava.library.path选项或设置PATH变量,以便可以通过简单的双击来启动生成的jar文件。
运行jar文件时是否可以将资源文件夹添加到库搜索路径而无需进行其他配置?例如,设置与Class-Path清单中的相似?
JBoss作为Active Directory用户运行ABC\appuser.我想以AD用户身份连接到MS SQL Server 8.0数据库ABC\dbuser.使用参数integratedSecurity=true,除非我user=ABC\dbuser;password=dbpass在连接URL上指定,系统将尝试连接为服务AD用户,ABC\appuser.
根据这个问题,我已经确认通过使用以下url,我可以像ABC\dbuser运行应用程序时那样连接到数据库ABC\appuser:
jdbc:sqlserver://MYHOSTNAME:1433;DatabaseName=MyDatabaseName;integratedSecurity=true;user=ABC\dbuser;password=dbpass
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我在JBoss配置xml(JBoss\jboss-eap-6.1.0\standalone\configuration\standalone.xml)中设置数据源的url时,如下所示:
<datasource jndi-name="java:jboss/datasources/MyDatabaseName" pool-name="MyPoolName" enabled="true" use-java-context="true">
<connection-url>jdbc:sqlserver://MYHOSTNAME:1433;DatabaseName=MyDatabaseName;integratedSecurity=true;user=ABC\dbuser;password=dbpass</connection-url>
<driver>sqlserver</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>10</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name></user-name>
<password></password>
</security>
</datasource>
Run Code Online (Sandbox Code Playgroud)
我无法使用此警告创建池资源:
WARN
[org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (JCA PoolFiller)
IJ000610: Unable to fill pool:
javax.resource.ResourceException: Could not create connection
Run Code Online (Sandbox Code Playgroud)
对于设定值user-name和passwordXML条目产生类似的故障警告.
我目前的解决方案选项似乎是以下任何一种:
connection-url为按预期应用值的自定义类ABC\dbuser或ABC\appuser通过直接访问或将其添加到具有访问权限的AD组来授予JBoss服务用户数据库访问权限.这些变通办法都不是优选的; 必须有一个更优雅,被接受的解决方案.我该如何解决这个问题?
我有一个使用 Xamarin 创建的 Visual C++ 动态共享库 (.so) 项目。我还在同一个解决方案中创建了一个 Xamarin.Android 应用程序,并尝试添加动态共享库项目作为参考,以便我可以调试到 C++ 代码中。我通过在 Android 应用程序项目上选择“添加引用”并调出“引用管理器”来执行此操作。我看到动态库,选中该框并点击确定。该库被添加到引用列表中,并带有一个黄色三角形,表示存在一些问题。当我选择它时,我确实看到 path 属性为空。
我继续构建项目,并在“输出”窗口中看到以下内容:
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1550,2): 警告:找不到文件 'c:\users\documents\visual studio 2015\Projects\MySharedLibrary\ x86\Debug\libMySharedLibrary.dll'。
难怪这个错误,它正在寻找带有“dll”扩展名而不是“so”扩展名的库。
我该怎么做才能让 Android 应用程序引用动态共享库 (.so) 进行调试?
-谢谢
编辑:即使使用 SanAngeles 演示项目和 MSDN 博客上的示例项目,我也会遇到相同的错误。
Edit2:直接引用 .so lib 有效,它是对本机库的项目引用引发此错误。
我有一个用 sbt 构建的 Scala 应用程序。它引入了一个本地库。本机库通过...加载
System.setProperty("java.library.path", "libs")
System.loadLibrary("native-library")
Run Code Online (Sandbox Code Playgroud)
该应用程序在 Ubuntu 14 和 16 上都运行得非常好。我可以执行 sbt test 并且运行没有问题,并且所有链接都完美无缺。
我正在测试在 Ubuntu 18 上构建并遇到问题。它们似乎与加载/链接本机库特别相关。如果我使用“sbt run”,该应用程序运行良好。但是,如果我尝试“sbt test”,它会失败并出现以下错误...
sbt.ForkMain$ForkError: java.lang.NoClassDefFoundError: Could not initialize class "MyClass"
Run Code Online (Sandbox Code Playgroud)
其中“MyClass”是链接本机库的类。该应用程序也可以很好地编译(sbt compile),并且我在 build.sbt 中包含了“fork := true”。
所以我知道它在某些情况下“有效”。似乎有一些关于“sbt 测试”的特定问题。
谢谢!
我正在尝试使用 iBatis 在联系我们表单中插入一些用户发送的数据。
我正在使用 Liferay/Spring MVC/iBatis/MySQL 设置,但我认为问题是由 iBatis 配置引起的。每当我尝试插入数据时,我都会在日志中看到异常:
com.ibatis.sqlmap.client.SqlMapException: There is no statement named contactus.ibatorgenerated_insert in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:231)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:367)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58)
Run Code Online (Sandbox Code Playgroud)
ibator 生成的 sql 映射确实包含一个插入查询,id 为“ibatorgenerated_insert”,命名空间为“contact_us”
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMapConfig>
<sqlMap namespace="contactus">
<insert id="ibatorgenerated_insert" parameterClass="contactUs.dao.ContactUs">
<!--
WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify.
This element was generated on Thu Apr 07 15:17:57 BST 2011.
-->
insert into …Run Code Online (Sandbox Code Playgroud) 在应用程序的管理面板中,应该引入新表单.我想使用2.3依赖RoR指南中描述的记录识别,但如果我说的话
form_for(@product)
Run Code Online (Sandbox Code Playgroud)
要么
form_for [:backend, @product]
Run Code Online (Sandbox Code Playgroud)
它扔了一个ArgumentError: Missing block.这是用于后端 - 新功能,控制器在其中controller/backend/product_controller定义
def new
@product = Product.new
end
Run Code Online (Sandbox Code Playgroud)
我做错了什么?为什么这不起作用?
下面的 PHP 代码工作正常,但是当它用于抓取指定关键字的 1000 个 Google 结果时,它只返回 100 个结果。Google 对返回的结果是否有限制,或者是否存在其他问题?
<?php
require_once ("header.php");
$data2 = getContent("http://www.google.de/search?q=auch&hl=de&num=100&gl=de&ix=nh&sourceid=chrome&ie=UTF-8");
$dom = new DOMDocument();
@$dom->loadHtml($data2);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("//div[@id='ires']//li/h3/a/@href");
$j = 0;
foreach ($hrefs as $href)
{
$url = "http://www.google.de/" . $href->value . "";
echo "<b>";
echo "$j ";
echo $url = get_string_between($url, "http://www.google.de//url?q=", "&sa=");
echo "<br/>";
$j++;
}
?>
Run Code Online (Sandbox Code Playgroud) 目前正在检索我的机器上安装的默认打印机以进行打印.我希望能够选择文档转到哪台打印机.这样做的最佳方法是什么?
码:
PrintService[] services =
PrintServiceLookup.lookupPrintServices(psInFormat, null);
System.out.println("Printer Selected " + services[Printerinx]);
//PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
DocFlavor[] docFalvor = services[Printerinx].getSupportedDocFlavors();
for (int i = 0; i < docFalvor.length; i++) {
System.out.println(docFalvor[i].getMimeType());
}
Run Code Online (Sandbox Code Playgroud)